【问题标题】:twistd.py log to both stdout and filetwistd.py 记录到标准输出和文件
【发布时间】:2013-01-13 15:50:47
【问题描述】:

我正在使用twistd.py 来运行我的应用程序,如下所示:

twistd -noy -l logfile.log tacfile.tac

不幸的是,所有输出现在都进入了日志文件,这对于调试过去的东西更好,但对于现在的调试更糟糕。我想要两全其美...如何使twistd 登录到标准输出以及命令行中提供的文件?

【问题讨论】:

  • 你用的是什么操作系统?
  • @isedev: linux 和 windows 都有
  • 不是答案,但我通常在主动写入日志文件上使用 tail-f logfile.log 来获得实时查看功能
  • @jbreicis: 是的,我选择了watch -n 0.5 tail -n 50 logfile.log,因为日志文件每占用一兆字节就不断轮换

标签: python logging twisted twistd


【解决方案1】:

我会尝试:

twistd -noy -l - tacfile.tac | tee logfile.log

"-l -" 将twistd 记录到stdout,tee 将其保存到文件并打印到stdout。在 ubuntu 上,tee 来自 coreutils 包。

如果您只需要特定于twisted 的内容,可以在tac 文件中添加以下代码:

from twisted.python import log, logfile

logFile = logfile.LogFile.fromFullPath('tacfile.log')
log.addObserver(log.FileLogObserver(logFile).emit)

然后用“-l -”扭曲运行

【讨论】:

  • 我想有人会提到tee,但这不会在Windows上工作,除非我安装tee,我不想......有没有内置的python/twisted方式?
  • 我编辑了回复。我不确定它是否可以在 Windows 上运行,但值得一试...
猜你喜欢
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多