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使用时,在此添加参数
补充知识: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,还有输出形式等。。具体是这样的
来源:https://blog.csdn.net/weixin_40744265/article/details/91040392


猜你喜欢
- /** * 递归法实现的快速排序 * @param $seq * @return array */f
- 前言最近使用pytorch训练模型,保存模型后再次加载使用出现了一些问题。记录一下解决方案!一、torch中模型保存和加载的方式1、模型参数
- jTopo 帮助说明网站http://www.jtopo.com/index.html使用例子:http://www.jtopo.com/d
- 第1章 argparse简介1.1 解析argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块
- 如下所示:def translationCipher(msg,key): result = ["&quo
- 问题所在:当我们想让应用层和http之间的所有接口都采用json,这样,客户端代码就可以纯碎用javascript的对象来编写,服务器打啊也
- 图片的上传上传图片使用了表单提交, 下面是html部分, enctype="multipart/form-data"表示
- 项目介绍背景:DC竞赛比赛项目,运用回归模型进 * 价预测。数据介绍:数据主要包括2014年5月至2015年5月美国King County的房
- 今天帮助同事解决一个问题,问题是她做的一套页面在FF下显示正常,在IE6下样式却没有效果,也就是没有应用样式。最终发现是编码不匹配的问题,c
- 数据分组使用 groupby() 方法进行分组group.size()查看分组后每组的数量group.groups 查看分组情况group.
- 目前使用MySQL的网站,多半同时使用Memcache作为键值缓存。虽然这样的架构极其流行,有众多成功的案例,但过于依赖Memcache,无
- 一、前言该测试功能是Linux产测软件的一个子功能,主要涉及:140行代码PySide2的Event、信号和槽、QLabel,QWidget
- 利用layui制作与众不同的感谢表单,表格layui极大的提高了前端开发效率,它极具个性的样式等等都非常吸引人,接下来我将为大家展示如何利用
- 这些帖子将分为三个部分。1.密码验证功能2.重构密码验证函数3.对密码验证功能进行单元测试这是Python系列中自定义密码验证的第三部分,也
- 前言在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你
- 一、简介我们在这里采用Python中的matplotlib来实现曲线图形的绘制。matplotlib是著名的python绘图库,它提供了一整
- * 说明:复制表(只复制结构,源表名:a 新表名:b) &n
- 前言在学习go语言时,做算法题会很经常遇到go语言的各种int类型,为什么会有int、int8、int16等等的类型呢?为什么不像java一
- 上次学会了爬取图片,这次就想着试试爬取商家的联系电话,当然,这里纯属个人技术学习,爬取过后及时删除,不得用于其它违法用途,一切后果自负。首先
- 1. 什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会