【问题标题】:How to redirect the stdout and stderr in rolling file with Unix redirection如何使用 Unix 重定向重定向滚动文件中的标准输出和标准错误
【发布时间】:2018-11-20 22:30:58
【问题描述】:

我有 java 应用程序,我在 Unix 上从命令提示符运行。 我将 stdout 和 stderr 重定向到 console.outconsole.err 文件。 由于正在记录大量信息,因此文件大小正在增加。

我想创建一个滚动文件,当文件大小超过特定大小时, 例如,如果 console.out 大小超过 500KB,则应创建 console1.out。 目前我正在使用

java MyAppName > logs/Console.out 2> logs/Console.err &

我该怎么做?

【问题讨论】:

    标签: java unix


    【解决方案1】:

    像这样将结果管道拆分:

    java MyAppName | split -b500k - Console.log

    这将在您每次超过 500k 时创建一个新文件。有关更多详细信息和选项,请参阅拆分手册页。

    【讨论】:

      【解决方案2】:

      或者你可以使用rotatelogs

      nohup java MyAppName 2>&1 | rotatelogs -l Console_%Y-%m-%d.log 86400 &

      这将每天创建一个包含今天日期的新文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-30
        • 2014-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-12
        相关资源
        最近更新 更多