Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用windows命令行执行命令并捕获滚动文件中的输出_Windows_Logging_Command Line - Fatal编程技术网

使用windows命令行执行命令并捕获滚动文件中的输出

使用windows命令行执行命令并捕获滚动文件中的输出,windows,logging,command-line,Windows,Logging,Command Line,我有一个命令行程序,可以生成我想要记录到文件中的输出 我知道我可以使用>操作符将命令(例如foo.exe)的输出重定向到文件,但是对于当前的项目,我需要的不仅仅是简单的输出功能。我还要提到,我不能更改foo.exe中的任何代码 我正在寻找可以执行以下操作的命令行实用程序/命令: 将foo.exe的输出记录到文件中 在foo.exe的每个单独输出上放置时间戳 当当前日志文件达到某个指定大小(例如1mb)时,关闭当前文件并开始将日志数据放入新文件中 在理想情况下,该实用程序将封装我希望执行的命令并记

我有一个命令行程序,可以生成我想要记录到文件中的输出

我知道我可以使用>操作符将命令(例如foo.exe)的输出重定向到文件,但是对于当前的项目,我需要的不仅仅是简单的输出功能。我还要提到,我不能更改foo.exe中的任何代码

我正在寻找可以执行以下操作的命令行实用程序/命令:

  • 将foo.exe的输出记录到文件中
  • 在foo.exe的每个单独输出上放置时间戳
  • 当当前日志文件达到某个指定大小(例如1mb)时,关闭当前文件并开始将日志数据放入新文件中 在理想情况下,该实用程序将封装我希望执行的命令并记录其输出,如下所示:

    log.exe-MaxLogSize=1mb-FileName=“fooutput.log”-Execute=“foo.exe”


    任何帮助或建议都将不胜感激

    检查Apache的rotatelogs是否满足您的需要它似乎不满足我的需要。我不认为我可以(或不确定如何)将foo.exe配置为输出到rotatelogs的stdin。请看()Foo | rotatelogs?!?很抱歉,我之前看到了serverfault问题,并认为这意味着需要在foo.exe中进行某种配置。这是可行的,但我没有看到任何一种选项可以在foo.exe的每个输出中添加时间戳,rotatelogs或其他程序中是否有一个选项可以让我通过管道获取时间戳?有点像ts是的,这正是rotatelogs与Apache一起使用时所做的