文件处理程序和控制台处理程序无法与日志配置正常工作

时间:2018-09-04 23:35:28

标签: python logging config

我在这里有点问题。我已经设置了一个便笺py文件来测试我的日志记录。 consoleHandler和fileHandler都没有获得正确的输出(任何输出)。谁能看得到任何问题吗?这是我的日志配置文件

[loggers]
keys=root

[handlers]
keys=fileHandler, consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=fileHandler, consoleHandler
formatter=simpleFormatter

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout, )

[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=(os.path.join(os.getcwd(), 'logging.log'), 'w')

[formatter_simpleFormatter]
format=%(asctime)s - %(levelname)s - %(message)s
datefmt="%Y-%m-%d %H:%M:%S"

这是临时的python文件

import logging
from logging import config

LOGGER_NAME = 'Work'
logger = logging.getLogger(LOGGER_NAME)
logging.config.fileConfig('C:\\Users\\cschuma1\\PycharmProjects\\workstuff\\config\\logging.conf')

addition = 'add' + 'ition'
logger.debug('print addition %s', addition)

我仔细查看了stackoverflow上其他用户的配置,我相信我已经为我的任务设置了所有必需的级别以及格式化程序/处理程序对象等。有人知道我在想什么吗?

1 个答案:

答案 0 :(得分:0)

事实证明,至少在python 3中,该行

logging.config.fileConfig('C:\\Users\\cschuma1\\PycharmProjects\\workstuff\\config\\logging.conf')

需要先于

LOGGER_NAME = 'Work'
logger = logging.getLogger(LOGGER_NAME) 

这是我上面固定的示例程序,

import logging
from logging import config

logging.config.fileConfig('C:\\Users\\cschuma1\\PycharmProjects\\workstuff\\config\\logging.conf')
LOGGER_NAME = 'Work'
logger = logging.getLogger(LOGGER_NAME)


addition = 'add' + 'ition'
logger.debug('print addition %s', addition)