这是所有Python。我还在学习......
我为我的Python应用程序编写了两个模块:Module1
和Module2
。
我需要将我的日志记录结果发送到三个不同的文件。 Module1
发送至setup.log
和setupdetails.log
个文件,Module2
发送至runall.log
Module2是我运行的应用程序。其中包含一个调用Module1的import语句。
因为我已经在my_dictionary
中配置了我的日志记录,其中一个模块应该包含字典?哪个模块应包含logging.config.dictConfig(my_dictionary)
函数?
您是否知道我能找到一个好的脚本,并举例说明如何使用dictConfig
?
答案 0 :(得分:4)
所以,我终于想通了。
如果将字典放在子模块Module 1
中(并设置Propagate: True
),则一切正常。
MY_DICTIONARY = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)-8s %(asctime)s %(module)s %(process)d %(thread)d %(message)s',
'datefmt': '%a, %d %b %Y %H:%M:%S'
},
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s',
'datefmt': '%a, %d %b %Y %H:%M:%S'
},
'simple': {
'format': '%(asctime)s %(levelname)-8s %(message)s',
'datefmt': '%a, %d %b %Y %H:%M:%S'
}
#etc.
}
}
接下来是以下电话:
logging.config.dictConfig(MY_DICTIONARY)
vmrunalllogger = logging.getLogger('VMRunAll_Python_Logger')
然后在第2单元(父模块)中,有这个:
logging.config.dictConfig(MY_DICTIONARY)
mylogger = logging.getLogger('RunAll_Logger')
我找不到具体的例子,显示两个不同的模块记录到我正在做的多个文件,但来自多个来源的信息如下:
答案 1 :(得分:2)
对于dictConfig:
import logging.config
logging.config.dictConfig() #Your method.
就您需要做的事情而言,如果您发布了一些代码,可能会更容易。