python 日志集中配置

import json
import logging
import logging.config
import logging.handlers

import requests
import yaml

from Common.dir_config import *


dictConfig = {
"version": 1,
"formatters": {
"formatter": {
"format": "%(asctime)s %(levelname)-8s %(name)s [%(funcName)s(%(module)s:%(lineno)s)] %(message)s"
},
"simpleFormatter": {
"format": "%(asctime)s %(levelname)-8s %(name)s [%(funcName)s(%(module)s:%(lineno)s)] %(message)s"
},
},
"handlers": {
"tcp_hendler": {
"level": "WARNING",
"class": "logging.handlers.SocketHandler",
"host": "127.0.0.1",
"port": "9020",
},
"console_handler": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "formatter",
},
"file_handler": {
"level": "DEBUG",
"class": "logging.handlers.TimedRotatingFileHandler",
"filename": "" + logs_dir + "\info.log",
"when": "D",
"backupCount": 3,
"encoding": "utf-8",
"formatter": "simpleFormatter",
},
"error_file_handler": {
"level": "ERROR",
"class": "logging.handlers.TimedRotatingFileHandler",
"filename": "" + logs_dir + "\error.log",
"when": "D",
"backupCount": 3,
"encoding": "utf-8",
"formatter": "formatter",
},
},
"loggers": {
"logger": {
"level": "DEBUG",
"handlers": [
"tcp_hendler",
"console_handler",
"file_handler",
"error_file_handler",
],
},
},
}
# # 将字典转成json
# with open('logconfig.txt', 'w',encoding='utf-8') as f:
# logconfig_json = json.dumps(dictConfig)
# f.write(logconfig_json)
# # 将json转成字典
# with open('logconfig.txt', 'r', encoding='utf-8') as f:
# logconfig_json = f.read()
# print(logconfig_json)
# dict = json.loads(logconfig_json)
# print(dict)

with open("logconfig.yaml", 'w', encoding='utf-8') as f:
logconfig_yaml = yaml.dump(dictConfig)
f.write(logconfig_yaml)

# 读取yaml文件的数据转成dict
with open('logconfig.yaml','r',encoding='utf-8') as f:
ymal_dict = yaml.safe_load(f)
print(ymal_dict)
logging.config.dictConfig(ymal_dict)

# 将字典传入
# logging.config.dictConfig(dictConfig)

# 实例化一个日志记录器
logger = logging.getLogger("logger")

posted @ 2021-05-26 14:25  Amanda520yl  阅读(118)  评论(0)    收藏  举报