繁体   English   中英

配置文件中的错误:处理程序 -Python 日志记录

[英]Error in config file : handler -Python logging

尝试使用文件配置写入日志信息的简单python

import logging
import logging.config
import os

logging.config.fileConfig('Log_parameters.ini')

log_learn = logging.getLogger('sakthi')

def complex_algorithm(items):
    for i, item in enumerate(items):
        # do some complex algorithm computation
        log_learn.debug('%s iteration, item=%s', i, item)

k = [1,2,3]

complex_algorithm(k)

Log_parameters.ini 我正在配置文件中设置处理程序、格式化程序。

[loggers]
keys = sakthi
[handlers]
keys = handle1
[formatters]
keys = simpleformatter

[logger_sakthi]
level = DEBUG
handlers = handle1
qualname = compiler.parser
propogate = 0

[logger_handle1]
class = FileHandler
level = DEBUG
formatter = simpleformatter
args= ('Configg_log','w')

[formatter_simpleformatter]
format=F1 %(asctime)s - %(name)s - %(levelname)s - %(message)s'
datefmt  =

在执行时,我收到以下错误 KeyError

回溯(最近一次调用):文件“C:/Users/M/PycharmProjects/LOGGING/Log_data_config_file.py”,第 6 行,在 logging.config.fileConfig('Log_parameters.ini') 文件“C:\\Users\\M \\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\logging\\config.py",第 79 行,在 fileConfig handlers = _install_handlers(cp, formatters) File "C:\\Users\\M\\AppData\\Local\\Programs\\ Python\\Python37-32\\lib\\logging\\config.py”,第 134 行,在 _install_handlers 部分 = cp["handler_%s" % hand] 文件“C:\\Users\\M\\AppData\\Local\\Programs\\Python\\Python37 -32\\lib\\configparser.py", line 958, in getitem raise KeyError (key) KeyError : 'handler_handle1'

我认为, [logger_handle1]应该是[handler_handle1]

handle1 不是记录器而是处理程序,因此键已被识别为 - [handlers] keys = handle1

它将以单数名称搜索——所以它应该是 handler_handle1 同意@SkyOcean

另一种方式 -

如果你想自己添加一个新的记录器然后添加 [loggers] keys = sakthi, handle1 然后 logger_handle1 将工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM