VS2010使用zlog报错问题(write fail, errno[0])

发布于 2021-11-26 23:27:32 字数 575 浏览 892 评论 5

@难易 你好,想跟你请教个问题:

    我在windows下使用你的zlog时,报错,不能像正常测试那样输出正确的结果,errlog报错信息如下

12-18 11:27:29 ERROR (336:e:winzlog-masterzlogsrcrotater.c:158) opened
12-18 11:27:29 ERROR (336:e:winzlog-masterzlogsrcrule.c:445) write fail, errno[0]
12-18 11:27:29 ERROR (336:e:winzlog-masterzlogsrczlog.c:985) zlog_output fail, srcfile[e:winzlog-masterzlogtesttest_profile.c], srcline[33]

我查看是rule的 WriteFIle函数最终返回时0 导致后续的报错,请问这是什么原因导致的,谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

尐偏执 2021-11-29 15:15:21

谢谢,修改这句代码确实可以屏幕输出了

不乱于心 2021-11-29 14:16:32

引用来自“LL”的评论

#if _MSC_VER 

//long lStdOut = _fileno(stdout); 
//
long lStdOut = GetStdHandle(STD_OUTPUT_HANDLE); 

#else 

long lStdOut = STDOUT_FILENO; 

#endif 

疾风者 2021-11-29 07:46:37

引用来自“难易”的评论

zlog没有针对win设计,我对win下的开发也不熟悉,按照代码看

if (write(STDOUT_FILENO,
		zlog_buf_str(a_thread->msg_buf), zlog_buf_len(a_thread->msg_buf)) < 0) {
		zc_error("write fail, errno[%d]", errno);
		return -1;
	}

是往stdout的文件描述符写数据失败了,我猜测是你关闭了标准输出?是否这样?

悟红尘 2021-11-28 18:41:05

报错之前控制台还打印了东西,不可能是关闭了标准输出吧

梦里兽 2021-11-27 01:29:32

zlog没有针对win设计,我对win下的开发也不熟悉,按照代码看

if (write(STDOUT_FILENO,
		zlog_buf_str(a_thread->msg_buf), zlog_buf_len(a_thread->msg_buf)) < 0) {
		zc_error("write fail, errno[%d]", errno);
		return -1;
	}

是往stdout的文件描述符写数据失败了,我猜测是你关闭了标准输出?是否这样?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文