python实现日志按天分割


Posted in Python onJuly 22, 2019

本文实例为大家分享了python实现日志按天分割的具体代码,供大家参考,具体内容如下

日志格式:

1.1.1.1 - - [30/Apr/2015:00:34:55 +0800] “POST /iDataService/services/MemRoomService HTTP/1.0” 200 405 “-” “Axis/1.4” “-”
1.1.1.1 - - [30/Apr/2015:00:34:55 +0800] “POST /iDataService/services/CutLoginService HTTP/1.1” 200 438 “-” “Apache CXF 2.7.8” “-”
1.1.1.1 - - [20/Apr/2015:00:34:55 +0800] “POST /iDataService/services/NoticeListService HTTP/1.1” 200 656 “-” “Apache CXF 2.7.8” “-”
1.1.1.1 - - [30/Apr/2016:00:34:56 +0800] “POST /iDataService/services/MemSelfQueryService HTTP/1.0” 200 1344 “-” “Axis/1.4” “-“

分割要求:

对日子进行按天分割,文件名称如access.log-20160101

#!/usr/bin/env python
 # -- conding:utf-8 -- 
 #
import os
import time

path1='/lianxi/python/split/lianxi1'
file=open(path1,'r')

for line in file:
  str=line.split()[3]
  otime=str[1:12]

  time_jieshu = time.strptime(otime, '%d/%b/%Y')
  time_jieshu = int(time.mktime(time_jieshu))
  ntime=time.strftime('%Y%m%d',time.localtime(time_jieshu))
 #  print ntime

  log_file='/lianxi/python/split/access.log-%s' %ntime

  with open(log_file,'a') as f:
    if not os.path.exists(log_file):
      os.mknod(log_file)
 #      f.write(line)
 #    else:
    f.write(line)
    f.close()
#!/usr/bin/python
#coding=utf-8
#author lyk
import re,os,commands
a=open('/python/access.log','r')
exc_month={'Apr':'04','Aug':'08','Dec':'12','Feb':'02','Jan':'01','Jul':'07','Jun':'06','Mar':'03','May':'05','Nov':'11','Oct':'10','Sep':'09'}
def touch_file():
  blist=[]
  commands.getoutput('rm -rf /accesslog/*')
  for i in a:
    blist.append(re.findall(r"\[(.+?):",i)[0])
  new_blist=[]
  for j in blist:
      if j.replace('/','.') not in new_blist:
        new_blist.append(j.replace('/','.'))
  for j in new_blist:
    commands.getoutput('touch /accesslog/access.log-%s'%(j[7:17]+exc_month[j[3:6]]+j[0:2]))
def append_file():
  for i in a:
    mfile=re.findall(r"\[(.+?):",i)[0].replace('/','')
    f=open("/accesslog/access.log-"+mfile[5:9]+exc_month[mfile[2:5]]+mfile[0:2],'a')
    f.write(i)
    f.close()
def tar_file():
  for i in commands.getoutput('ls /accesslog').splitlines():
    commands.getoutput("gzip /accesslog/%s"%i)

if __name__=='__main__':
  touch_file()
  append_file()
  tar_file()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python Sleep休眠函数使用简单实例
Feb 02 Python
Python映射拆分操作符用法实例
May 19 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
python机器学习之贝叶斯分类
Mar 26 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
Python Gitlab Api 使用方法
Aug 28 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
python 提高开发效率的5个小技巧
Oct 19 Python
基于python爬取梨视频实现过程解析
Nov 09 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 Python
python re.sub()替换正则的匹配内容方法
Jul 22 #Python
简单了解python gevent 协程使用及作用
Jul 22 #Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 #Python
python+logging+yaml实现日志分割
Jul 22 #Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 #Python
python Gunicorn服务器使用方法详解
Jul 22 #Python
python实现按行分割文件
Jul 22 #Python
You might like
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
js小技巧--自动隐藏红叉叉
2007/08/13 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
如何搜索查找并解决Django相关的问题
2014/06/30 Python
详解Python中dict与set的使用
2015/08/10 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
Python中的取模运算方法
2018/11/10 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
python中自带的三个装饰器的实现
2019/11/08 Python
pytorch的batch normalize使用详解
2020/01/15 Python
python实现udp传输图片功能
2020/03/20 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
详解python datetime模块
2020/08/17 Python
用python批量下载apk
2020/12/29 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
法律工作求职自荐信
2013/10/31 职场文书
教育专业自荐书范文
2013/12/17 职场文书
对教师的评语
2014/04/28 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS