python log

https://apppukyptrl1086.h5.xiaoeknow.com/
import logging
import os
import sys
# 2023-03-22 10:03:18,402 demo-app[Info][demo.py-34]: python log demo test
def log_config(name):
    # log 打印级别
    logging.addLevelName(logging.DEBUG, 'DEBUG')
    logging.addLevelName(logging.ERROR, 'ERROR')
    logging.addLevelName(logging.INFO, 'INFO')
    logging.addLevelName(logging.WARNING, 'WARN')
    logging.addLevelName(logging.WARN, 'WARN')
    logger = logging.getLogger(name)
    # 管理日志级别
    logger.setLevel(logging.DEBUG)
    # 日志格式打印
    formatter = logging.Formatter("%(asctime)s %(name)s[%(levelname)s]: %(message)s")
    file_formatter = logging.Formatter("%(asctime)s %(name)s[%(levelname)s][%(filename)s-%(lineno)d]: %(message)s")
    # 控制台只打印 INFO 级别日志
    handler = logging.StreamHandler(sys.stdout)
    handler.setFormatter(formatter)
    handler.setLevel(logging.INFO)
    logger.addHandler(handler)
    # 记录到 log 日志文件里面的日志级别
    dir_path = os.sep.join(os.path.realpath(__file__).split(os.sep)[:-2])
    log_file = os.path.join(dir_path, "demo.log")
    log_path_handler = logging.FileHandler(log_file)
    log_path_handler.setFormatter(file_formatter)
    log_path_handler.setLevel(logging.DEBUG)
    logger.addHandler(log_path_handler)
    return logger
# 获取一个日志打印对象
customlogger = log_config("demo-app")
customlogger.info("python log demo test")
customlogger.debug("python log demo test")
customlogger.warning("python log demo test")

执行测试

控制台:

2023-03-22 10:16:08,136 demo-app[INFO]: python log demo test
2023-03-22 10:16:08,137 demo-app[WARN]: python log demo test

日志文件 demo.log:

2023-03-22 10:16:08,136 demo-app[INFO][log_config.py-33]: python log demo test
2023-03-22 10:16:08,137 demo-app[DEBUG][log_config.py-34]: python log demo test
2023-03-22 10:16:08,137 demo-app[WARN][log_config.py-35]: python log demo test

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值