python logging yml

配置文件

logging.yml 如下:


version: 1
formatters:
  simple:
    format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
handlers:
  console:
    class: logging.StreamHandler
    level: DEBUG
    formatter: simple
    stream: ext://sys.stdout
  info_file_handler:
    class: logging.handlers.RotatingFileHandler
    level: INFO
    formatter: simple
    filename: ./info.log
    maxBytes: 10485760 # 10MB
    backupCount: 20
    encoding: utf8
loggers:
  mylogger:
    level: DEBUG
    handlers: [ console,info_file_handler ]
    propagate: no
root:
  level: DEBUG
  handlers: [ console]

代码

import logging
import yaml
from yaml import Loader
import logging.config
import os


def mylogger(path=None):
    print('begin ---------------------------------')
    if path is None:
        path = './logs/{}.log'.format(os.path.basename(__file__).split('.')[0])
    if not os.path.exists(os.path.dirname(path)):
        os.mkdir(os.path.dirname(path))
    with open("./logging.yml", "r") as f_conf:
        dict_conf = yaml.load(f_conf, Loader)
    dict_conf['handlers']['info_file_handler']['filename'] = path
    logging.config.dictConfig(dict_conf)
    logger = logging.getLogger("mylogger")
    return logger



logger = mylogger()
# 日志输出
logger.debug("debug message.")
logger.info("info message.")
logger.warning("warning message.")
logger.error("error message.")
logger.critical("critical message.")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值