【问题标题】:How to clean foreverjs logs for running processes?如何清理foreverjs日志以运行进程?
【发布时间】:2019-01-16 19:52:21
【问题描述】:

如何为正在运行的进程清理 forforeverjs 的日志?我可以手动删除日志文件,但这会导致永远不再记录。

我也见过 cleanlogs,但它只会删除历史日志,不会影响任何活动进程的日志。

【问题讨论】:

  • forever cleanlogs?
  • 谢谢我看到了这个,但似乎不适用于正在运行的进程。我已将我的问题编辑得更具体。
  • 可能会有这样的帮助:for i in /var/forever/path/to/log/*; do cat /dev/null > $i; done
  • 太棒了,它有效 - 谢谢!

标签: node.js forever


【解决方案1】:

来自永远的文档:

forever cleanlogs    [CAREFUL] Deletes all historical forever log files

【讨论】:

  • 谢谢,我看到了这个,但我想为仍然处于活动状态的长时间运行的进程清理日志文件 - 在这种情况下,cleanlogs 似乎没有做任何事情。我将编辑我的答案以更具体。不知道为什么这也被否决了......
  • 这不会删除正在运行的进程的日志
【解决方案2】:

如果是Linux,可能会有这样的帮助:

for i in /var/forever/path/to/log/*; do cat /dev/null > $i; done

【讨论】:

    【解决方案3】:

    我刚才需要这个,这是我的解决方案:

    ➜  ~ forever list
    info:    Forever processes running
    data:        uid  command                                   script                                                                  forever pid  id logfile                 uptime          
    data:    [0] n8Hy /root/.nvm/versions/node/v8.11.4/bin/node app.js --genesis node.json --config config.json 1941    1955    /root/.forever/n8Hy.log 30:16:11:52.822 
    ➜  ~ echo "deleted..." > /root/.forever/n8Hy.log
    

    这基本上会用文本“deleted...”覆盖整个日志文件,当然你可以用空字符串覆盖它。

    请注意,>> 会在文件中追加一行,但 > 只会删除所有内容并在文件中添加一行。

    【讨论】:

      【解决方案4】:

      清除单个日志文件的步骤:

      • 转到永久日志目录
      • cp /dev/null 文件名.log

      清除所有日志文件的步骤:

      • for i in /var/forever/path/to/log/*;做猫 /dev/null > $i; 如 stdob 所述

      【讨论】:

        【解决方案5】:

        你可以:

        $ forever list
        

        复制日志路径。

        使用 VIM:

        全选并删除(实际上移动到缓冲区)

        :%d
        

        然后保存文件

        :x
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-06-19
          • 1970-01-01
          • 2019-07-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-03
          • 1970-01-01
          • 2020-03-03
          相关资源
          最近更新 更多