Python 日志分割

原创 2017年08月31日 23:07:35


数据增量更新的python脚本记录的日志文件越来越大,所有需要拆分,google了下,找到了例子,不过有个bug就是日志信息已经录入了日志文件了,也拆分了,但是执行python脚本的控制台上会原样打印出日志信息。


python案例代码

[huayuan] /data0/production_api/split_new/process$ more p6.py
import time  
import logging  
import logging.handlers  

logging.basicConfig()  

myapp = logging.getLogger('myapp')  
myapp.setLevel(logging.INFO)  

filehandler = logging.handlers.TimedRotatingFileHandler("logs/myapp.log", when='S', interval=3, backupCount=10)   
filehandler.suffix = "%Y-%m-%d_%H-%M-%S.log"  
myapp.addHandler(filehandler)  

for i in range(10):  
    #time.sleep(0.1)  
    time.sleep(1)
    myapp.info(str(i)+",test")  
[huayuan] /data0/production_api/split_new/process$ 

[huayuan] /


执行过程,界面上会有日志信息输出

[huayuan] /data0/production_api/split_new/process$ python p6.py
INFO:myapp:0,test
INFO:myapp:1,test
INFO:myapp:2,test
INFO:myapp:3,test
INFO:myapp:4,test
INFO:myapp:5,test
INFO:myapp:6,test
INFO:myapp:7,test
INFO:myapp:8,test
INFO:myapp:9,test
[huayuan] 


而日志文件也同时写入,且被拆分掉:

[huayuan] /data0/production_api/split_new/process$ ll logs/*
-rw-r--r-- 1 laobanzhang wheel 14 Aug 31 17:47 logs/myapp.log
-rw-r--r-- 1 laobanzhang wheel 14 Aug 31 17:47 logs/myapp.log.2017-08-31_17-47-30.log
-rw-r--r-- 1 laobanzhang wheel 21 Aug 31 17:47 logs/myapp.log.2017-08-31_17-47-33.log
-rw-r--r-- 1 laobanzhang wheel 21 Aug 31 17:47 logs/myapp.log.2017-08-31_17-47-36.log
[huayuan] /data0/production_api/split_new/process$ 


问题处理,google上查阅了下TimedRotatingFileHandler,没有找到方法,想到一个临时解决办法 >/dev/null

[huayuan] /data0/production_api/split_new/process$ rm -rf logs/*
[huayuan] /data0/production_api/split_new/process$ python p6.py 2> /dev/null
[huayuan] /data0/production_api/split_new/process$ ll logs/*
-rw-r--r-- 1 laobanzhang wheel 14 Aug 31 17:49 logs/myapp.log
-rw-r--r-- 1 laobanzhang wheel 14 Aug 31 17:49 logs/myapp.log.2017-08-31_17-49-01.log
-rw-r--r-- 1 laobanzhang wheel 21 Aug 31 17:49 logs/myapp.log.2017-08-31_17-49-04.log
-rw-r--r-- 1 laobanzhang wheel 21 Aug 31 17:49 logs/myapp.log.2017-08-31_17-49-07.log
[huayuan] /data0/production_api/split_new/process$ more logs/myapp.log.2017-08-31_17-49-07.log
5,test
6,test
7,test
[huayuan] /data0/production_api/split_new/process$ 

参考文章地址:https://docs.python.org/2/library/logging.handlers.html

python 日志模块logging学习与使用(日志分割)

在日常项目中,总是需要记录下一些细小信息或者错误码、错误信息的,这个时候就需要进行日志的操作。 python中用于日志创建、设置和记录等功能的模块,就是logging了,下面是对其基本使...

python实现一个简单的日志系统

  • 2014年04月19日 19:48
  • 6KB
  • 下载

python socket 日志

  • 2012年03月15日 15:54
  • 44KB
  • 下载

Python 日志组件Logging 使用手札 (一)

1 题外话虽然Python很火很火,可是我也是最近一年才开始用Python的,在此之前我是很坚定的Java党的,不过现在用上了Python,突然觉得Python是很有魔性的,所以渐渐的也用了多了起来。...
  • MebiuW
  • MebiuW
  • 2016年07月11日 20:46
  • 901

Python异常信息写日志

大家在开发的过程中可能时常碰到一个需求,需要把Python的异常信息输出到日志文件中 网上的办法都不太实用,下面介绍一种实用的,从Python 2.7源码中扣出来的 废话不说 直接上代码,代码不多...

[Python版] 简单实用的日志类

  • 2013年06月17日 11:43
  • 3KB
  • 下载

python的logging日志模块(二)

晚上比较懒,直接搬砖了。 1.简单的将日志打印到屏幕   import logging logging.debug('This is debug message...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python 日志分割
举报原因:
原因补充:

(最多只允许输入30个字)