网络编程
位置:首页>> 网络编程>> Python编程>> django实现日志按日期分割

django实现日志按日期分割

作者:Christian_yang  发布时间:2023-07-20 04:25:21 

标签:django,日志,日期,分割

settings文件中配置:


LOGGING = {
 'version':1,
 'disable_existing_logger':False,
 'formatters':{
   'verbose':{
     'format':'%(asctime)s \"%(pathname)s:%(module)s:%(funcName)s:%(lineno)d\" [%(levelname)s]-%(message)s'
   },
 },
 # 处理器
 'handlers':{
   # 输出控制台
   'console':{
     'level':'INFO',
     'class':'logging.StreamHandler',
     'formatter':'verbose'
   },
   # 输出文件
   'file':{
     'level':'DEBUG',
     'class':'logging.handlers.TimedRotatingFileHandler',
     'filename':'logs/blog.log',
     'formatter':'verbose',
     # 每分钟切割一次日志
     'when':'M',
     # 时间间隔
     'interval':1,
     # 保留5份日志
     'backupCount':5,
     'encoding':'utf-8'
   },
 },
 # 记录器
 'loggers':{
   'django':{
     'handlers':['console','file'],
     'level':'INFO',
     'propagete':True,
   },
 }
}

项目启动时,win系统下,添加 --noreload :python manage.py runserver --noreload ,防止PermissionError报错;

pycharm使用时,在此添加参数

django实现日志按日期分割

补充知识:logback输出日志:时间分割(每天生成相同名称的log文件,旧文件以时间分类)

private final static Logger logger = LoggerFactory.getLogger(SyncIntegralService.class);

今天经理又提出了一个奇怪的需求,很是蛋疼,就是:每天生成相同名称的log文件,旧文件以时间分类

只有一个"log.log"的文件,7日(今天)生成的日志是以 “log.log”的形式存储的,当到8日(明天)的时候是把7日生成的log.log文件保存到log.log201400707.log,然后在创建一个8日的log.log文件,依次类推。

现在很清晰是什么需求了吧,先贴项目之前的logback文件


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
 <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
 </pattern>
</encoder>
</appender>

<appender name="eventFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 <fileNamePattern>${catalina.base}/logs/EventAnalysis/EventAnalysis.%d{yyyy-MM-dd}.log</fileNamePattern>
 <maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
 <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<logger name="com.travelsky.eventanalysis.dao" additivity="true">
<level value="DEBUG" />
</logger>

<root level="info">
<appender-ref ref="eventFile" />
<appender-ref ref="STDOUT"/>
</root>
</configuration>

仔细看看还是很简单的,就是每天生成文件以时间分类,输出级别是debug,还有输出形式等。。具体是这样的

django实现日志按日期分割

来源:https://blog.csdn.net/weixin_40744265/article/details/91040392

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com