我有一个通过 crontab 运行的 python 脚本。
这是 crontab:
0 14 * * * python3 /opt/app/script.py >> /var/log/app/script_log.txt
以前,我在脚本末尾有一个打印语句,该语句将写入
/var/log/app/script_log.txt
,但切换到logging
后,那里什么也没有写入(脚本成功写入data.log
- 如日志处理程序中设置的那样)。
这是我的日志配置:
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler("data.log"),
logging.StreamHandler()
]
)
有没有办法设置记录器写入两个位置?
将所需文件的另一个
FileHandler
添加到 handlers
列表中。
handlers=[
logging.FileHandler("data.log"),
logging.FileHandler("/var/log/app/script_log.txt"),
logging.StreamHandler()
]