一、配置文件
[loggers]
keys=root,simpleExample
[handlers]
keys=fileHandler,consoleHandler,fileHandler1
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=fileHandler1,fileHandler
[logger_simpleExample]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0
[handler_consoleHandler]
class=StreamHandler
args=(sys.stdout,)
level=DEBUG
formatter=simpleFormatter
[handler_fileHandler]
class=logging.handlers.TimedRotatingFileHandler
args=('%(fileName)s'+'log-error', 'D', 1, 30)
level=ERROR
formatter=simpleFormatter
[handler_fileHandler1]
class=logging.handlers.TimedRotatingFileHandler
args=('%(fileName)s'+'log-info', 'D', 1, 30)
level=INFO
formatter=simpleFormatter
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt= %y-%m-%d %H:%M:%S
二、创建日志对象
import logging.config
import os
import time
logging.config.fileConfig("logging.conf", defaults={'fileName': 'logs'})
logger = logging.getLogger("simpleExample")
for i in range(0, 10):
logging.debug("logging.debug")
logging.info("logging.info")
logging.warning("logging.warning")
logging.error("logging.error")
time.sleep(2)
三、TimedRotatingFileHandler说明
TimedRotatingFileHandler构造函数声明
class logging.handlers.TimedRotatingFileHandler(filename, when='h', interval=1, backupCount=0, encoding=None, delay=False, utc=False, atTime=None)
filename 日志文件名前缀
when 日志名变更时间单位
'S' Seconds
'M' Minutes
'H' Hours
'D' Days
'W0'-'W6' Weekday (0=Monday)
'midnight' Roll over at midnight
interval 间隔时间,是指等待N个when单位的时间后,自动重建文件
backupCount 保留日志最大文件数,超过限制,删除最先创建的文件;默认值0,表示不限制。
delay 延迟文件创建,直到第一次调用emit()方法创建日志文件
atTime 在指定的时间(datetime.time格式)创建日志文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
2020-06-10 python中的mysql转义字符串(向mysql插入特殊字符)