我在两个项目中使用日志记录。日志记录在每种情况下都非常有效。当我将“ B”导入“ A”时,只有“ B”日志。对于每个项目,我都有一个“ logger_settings.py”文件,具有不同的输出位置和文件名。我是否缺少使两个项目都输出其日志文件的设置?
两个项目记录器设置文件都如下所示,但文件名和位置不同:
logging_config = dict(
version=1,
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={
'api-logger': {'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'verbose',
'level': logging.DEBUG,
'filename': '../logs/api.log',
'maxBytes': 1048576,
'backupCount': 4},
'console': {
'class': 'logging.StreamHandler',
'level': 'DEBUG',
'formatter': 'simple',
'stream': sys.stdout,
},
},
loggers={
'api_logger': {
'handlers': ['api-logger', 'console'],
'level': logging.DEBUG
}
}
)
dictConfig(logging_config)
api_logger = logging.getLogger('api_logger')
独立测试的项目会很好地写入日志。当一个导入到另一个时,将仅记录导入的文件。我希望两个都写入自己的日志文件。
我没有收到任何错误。
答案 0 :(得分:0)
我找到了这个问题的答案。重申一下,我有两个python项目。我将git + ssh://git@github.com/一个安装到另一个安装中,只有安装的记录器有效。
为使它们都能正确记录,事实证明这是对我的记录器字典的简单补充:
disable_existing_loggers =否
...和whola!就像魔术一样工作...两个记录器都能很好地工作