| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- # import logging
-
- # # 配置日志器
- # logger = logging.getLogger(__name__)
- # logger.setLevel(logging.DEBUG)
- # formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
- # fhandler = logging.FileHandler('livetalking.log') # 可以改为StreamHandler输出到控制台或多个Handler组合使用等。
- # fhandler.setFormatter(formatter)
- # fhandler.setLevel(logging.INFO)
- # logger.addHandler(fhandler)
- # # handler = logging.StreamHandler()
- # # handler.setLevel(logging.DEBUG)
- # # sformatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
- # # handler.setFormatter(sformatter)
- # # logger.addHandler(handler)
- import logging
- from logging.handlers import TimedRotatingFileHandler
- from pathlib import Path
- # 配置日志器(避免重复添加处理器)
- logger = logging.getLogger(__name__)
- logger.setLevel(logging.DEBUG) # 日志器级别设为 DEBUG
- logger.handlers.clear() # 清除已存在的处理器,避免重复输出
- # 定义格式化器
- formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
- # 日志文件路径(放在项目根目录)
- LOG_PATH = Path(__file__).resolve().parent / "livetalking.log"
- # 1. 文件处理器:按天滚动,保留 3 天日志
- fhandler = TimedRotatingFileHandler(
- filename=str(LOG_PATH),
- when="midnight",
- interval=1,
- backupCount=3,
- encoding='utf-8',
- utc=False
- )
- fhandler.setFormatter(formatter)
- fhandler.setLevel(logging.DEBUG)
- logger.addHandler(fhandler)
- # 2. 控制台处理器(输出到终端,方便实时查看)
- shandler = logging.StreamHandler()
- shandler.setFormatter(formatter)
- shandler.setLevel(logging.DEBUG)
- logger.addHandler(shandler)
|