linux printf如何同时把内容输出到日志文件和屏幕中?

worshiper 2011-12-04 01:10:08

因为有一部分用的是第三发的库,里面有printf输出异常信息,需要把这些内容写入日志,同时还要在屏幕上显示,该怎么实现?

日志文件名为:Log.log
...全文
2774 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwer_boo 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 qq120848369 的回复:]

引用楼主 worshiper 的回复:
因为有一部分用的是第三发的库,里面有printf输出异常信息,需要把这些内容写入日志,同时还要在屏幕上显示,该怎么实现?

日志文件名为:Log.log


C/C++ code
默认是输出到屏幕?

那么运行时候: ./program | tee xxx.txt
[/Quote]向qq120848369学习
leavor 2011-12-04
  • 打赏
  • 举报
回复
linux提供的 fork一个子进程,在子进程中用dup2()函数,将标准输出STDOUT_FILENO重定向到你的日志文件;在父进程中将出错信息打印到屏幕
mstlq 2011-12-04
  • 打赏
  • 举报
回复
linux下用tee是最简单的了
紫馨岚 2011-12-04
  • 打赏
  • 举报
回复
9楼正解
qq120848369 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 worshiper 的回复:]
因为有一部分用的是第三发的库,里面有printf输出异常信息,需要把这些内容写入日志,同时还要在屏幕上显示,该怎么实现?

日志文件名为:Log.log
[/Quote]

默认是输出到屏幕?

那么运行时候: ./program | tee xxx.txt
xuexingyang 2011-12-04
  • 打赏
  • 举报
回复
如果fprintf不行,就可以porting个syslog到上面就行了。
worshiper 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dock_wang 的回复:]

C/C++ code

printf("");
fprintf(FP, "");
[/Quote]

这样是不行的,本意是想不修改代码,把输出的内容同时写入文件,屏幕上也显示出来
mstlq 2011-12-04
  • 打赏
  • 举报
回复
worshiper 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mscf 的回复:]

运行时重定向吧~
[/Quote]

重定向我试了,定向到文件,屏幕上就不在出现了
王健龙 2011-12-04
  • 打赏
  • 举报
回复

printf("");
fprintf(FP, "");
薛定谔之死猫 2011-12-04
  • 打赏
  • 举报
回复
运行时重定向吧~
worshiper 2011-12-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq120848369 的回复:]
C/C++ code
2条语句.
[/Quote]
是什么啊?搜了很久没找到我想要的
qq120848369 2011-12-04
  • 打赏
  • 举报
回复
2条语句.

70,036

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧