【发布时间】:2013-07-20 03:40:02
【问题描述】:
有没有办法将错误消息写入日志文件并在终端屏幕上打印出来?
我尝试了以下方法:
dup2(fileno(pFile), STDERR_FILENO); /* redirect stderr to file */
将 stderr 重定向到文件。但是,这会将错误消息写入文件,但不会在屏幕上显示它们。
可以不读取stderr的内容并将其复制到文件中吗?
注意:我不想调用 shell(系统,popen)。我确实看过coreutils 的tee 命令的实现。它将标准流复制到文件中。
【问题讨论】:
-
您可以尝试“tail”在屏幕上查看您的输出文件。这是最简单的解决方案。
-
@OrcunC 我怎么知道有多少行尾??
-
您不必知道行数。它总是显示最后 n 行。如果您正在寻找特定的模式,您可以轻松地将 tail 与 grep 结合使用,以获得强大的日志查看器。