当我像这样运行扭曲的应用程序时:
twistd --pidfile ./twistd.pid -l $HOME/logs/my_application.log -oy service.tac
我发现它不会记录通过 python logging 发送的任何内容系统。我注意到扭曲中有一个“PythonLoggingObserver”,但它将扭曲日志重定向到日志记录模块。
我想弄清楚如何让所有日志(不管日志模块如何)转到在 twistd 上用“-l”命令指定的日志文件。我怀疑我的日志正在写入守护进程的标准输出。
以下是我如何在 .tac 文件中初始化 python 日志记录:
import logging
LOG_LEVEL = logging.DEBUG
logger = logging.getLogger(module_name)
logger.setLevel(LOG_LEVEL)
logging.basicConfig(level=LOG_LEVEL)
最佳答案
使用 twisted.python.log.logfile
添加流处理程序。例如:
>>> from sys import stdout
>>> from logging import StreamHandler, getLogger
>>> from twisted.python.log import startLogging, logfile
>>> observer = startLogging(stdout, setStdout=False)
2015-05-02 06:34:39-0400 [-] Log opened.
>>> getLogger().addHandler(StreamHandler(stream=logfile))
>>> getLogger().log(100, "Hello")
2015-05-02 06:36:26-0400 [-] Hello
>>>
关于python - 使用 twistd 和 python 日志记录到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996482/