配置傾向
只輸出到檔案
按時間輪換,預設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日誌如何配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!