logging日志记录器

汝臻
2023-12-01

1获取一个日志 记录器 其实返回的是root记录器

logger = logging.getLogger("test")

2给logger 设置 日志级别 logger收集什么级别的日志

logger.setLevel(logging.DEBUG)

        日志级别 从小到大
        ALL、DEBUG 、INFO、WARA、ERROR 、FATAL 、OFF
        ALL(输出所有类型日志)
        DEBUG (输出DEBUG 以上级别日志)
        INFO(输出INFO以上级别日志)
        WARA(输出WARA以上级别日志)
        ERROR (输出ERROR 以上级别日志)
        FATAL (输出FATAL 以上级别日志)
        OFF (关闭日志输出)

3 设置Formatter格式化

formatter = logging.Formatter(
    "[%(name)s][PID:%(process)d][%(threadName)s:%(thread)d][%(levelname)s][%(asctime)s][%(message)s]",
    "%Y-%m-%d %H:%M:%S")

4 创建 Handler

f_handler = logging.FileHandler("mylog.txt", encoding="utf-8")

handler处理什么级别的日志

f_handler.setLevel(logging.INFO)
f_handler.setFormatter(formatter)

s_handler = logging.StreamHandler()
s_handler.setLevel(logging.DEBUG)
s_handler.setFormatter(formatter)

5把handler添加到logger上

logger.addHandler(f_handler)
logger.addHandler(s_handler)

 最后打印日志

logger.debug("Debug Message")
logger.info("Info  Message")
logger.warning("Warning Message")
logger.error("Error  Message")

loggers的配置

[loggers]
keys=root,test

[handlers]
keys=fileHandler,streamHandler

[formatters]
keys=fmt

[logger_root]
level=DEBUG
handlers=streamHandler

[logger_test]
level=DEBUG
handlers=fileHandler
qualname=test

[handler_streamHandler]
class=StreamHandler
level=DEBUG
formatter=fmt
args=(sys.stdout,)

[handler_fileHandler]
class=FileHandler
level=INFO
formatter=fmt
args=('mylog1.txt','a',"utf-8")

[formatter_fmt]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

 

 类似资料: