所以我在python中创建一个脚本并希望它将日志保存到文件中。我正在使用标准日志记录模块。目前日志保存在脚本的文件夹中,但我不认为这是正确的方法。
我的下一步是让我的脚本可以从PyPI安装,因此问题。什么是在所有主要操作系统(Mac,链接,窗口)中保存脚本日志的最佳位置
答案 0 :(得分:0)
只需为标准日志记录模块指定正确的设置,即可将所有日志保存到/日志或机器的任何路径。
所以,基本上你可以定义'处理程序'来说明将日志放在何处以及将使用这些处理程序写入日志的“记录程序”。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'file1': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/logs/file1.log',
'formatter': 'verbose'
},
'file2': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/logs/file2.log',
'formatter': 'verbose'
},
},
'loggers': {
'django': {
'handlers':['file1'],
'propagate': True,
'level':'DEBUG',
},
'logger1': {
'handlers': ['file1'],
'level': 'DEBUG',
},
'logger2': {
'handlers': ['file2'],
'level': 'DEBUG',
},
'django.request': {
'handlers': [file1, file2],
'level': 'ERROR',
'propagate': False,
},
}
}
现在,您可以在脚本中使用这些记录器,如下所示:
import logging
info_logger = logging.getLogger(logger1)
error_logger = logging.getLogger(logger2)