Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python日志:使用字典配置单个记录器_Python_Logging - Fatal编程技术网

Python日志:使用字典配置单个记录器

Python日志:使用字典配置单个记录器,python,logging,Python,Logging,使用Python的logging模块,我想配置两个独立的记录器。一个用于开发,一个用于操作。 我可以使用像addHandler这样的配置方法来实现这一点(请参见问题底部的代码),但我看不到使用配置字典来实现这一点的方法。相反,dictConfig似乎是为整个日志模块保留的。如何使用字典配置命名的记录器 这是我用来配置两个记录器的代码,ops和dev使用方法调用,没有什么特别之处,只是为了让您了解我想要的功能: import logging # create logger ops_logger

使用Python的
logging
模块,我想配置两个独立的记录器。一个用于开发,一个用于操作。 我可以使用像
addHandler
这样的配置方法来实现这一点(请参见问题底部的代码),但我看不到使用配置字典来实现这一点的方法。相反,dictConfig似乎是为整个日志模块保留的。如何使用字典配置命名的
记录器

这是我用来配置两个记录器的代码,
ops
dev
使用方法调用,没有什么特别之处,只是为了让您了解我想要的功能:

import logging

# create logger
ops_logger = logging.getLogger('ops')
dev_logger = logging.getLogger('dev')
ops_logger.setLevel(logging.DEBUG)
dev_logger.setLevel(logging.DEBUG)

# create console handler and set level to debug
ops_file = logging.FileHandler("ops")
dev_file = logging.FileHandler("dev")
ops_file.setLevel(logging.DEBUG)
dev_file.setLevel(logging.DEBUG)

# create formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# add formatter to ch
ops_file.setFormatter(formatter)
dev_file.setFormatter(formatter)
# add ch to logger
ops_logger.addHandler(ops_file)
dev_logger.addHandler(dev_file)
# 'application' code


ops_logger.error('ops error message')
dev_logger.error('dev error message')

我正在使用2.7,但将接受3.x解决方案,否则

您是否实现了您所期望的目标?我不再确定。发布此问题后,我更换了公司,因此我无法再访问我编写的代码:/你实现了你想要的吗?我不再确定。发布此问题后,我更换了公司,因此我无法再访问我编写的代码:/