配置
配置倾向
-
只输出到文件
-
按时间轮转,默认7d
-
日志格式:只记录必要的信息
import logging from logging.handlers import timedrotatingfilehandler from os import path def init_log_config( filename: str, *, default_dir="/var/log", logformat: str = ("[%(levelname)s %(asctime)s %(process)d_%(threadname)s %(filename)s:%(lineno)s:%(funcname)s] " "%(message)s"), loglevel: str = "warn", backup_count: int = 7, encoding="utf-8", delay=true, ): """ :param filename: 文件名 :param default_dir: :param logformat: :param loglevel: :param backup_count: :param encoding: :param delay: :return: """ levelint = { "debug": logging.debug, "info": logging.info, "warn": logging.warn, "error": logging.error }[loglevel] if not filename.startswith("/"): filename = path.join(default_dir, filename) logging.basicconfig( format=logformat, level=levelint, handlers=[ timedrotatingfilehandler( filename, when="d", backupcount=backup_count, encoding=encoding, delay=delay, ) ] )
使用方式
-
在程序最最最开始的地方开始初始化(我一般放在第一行)
init_log_config("log1.log", loglevel="debug") import os, sys
-
业务中使用
logging.info("start do something")
以上就是python日志如何配置的详细内容。