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 爬虫的工具列表大全
Jan 31 Python
学习python类方法与对象方法
Mar 15 Python
python 获取网页编码方式实现代码
Mar 11 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
使用turtle绘制五角星、分形树
Oct 06 Python
Python List列表对象内置方法实例详解
Oct 22 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
Django实现微信小程序支付的示例代码
Sep 03 Python
python实现求纯色彩图像的边框
Apr 08 Python
pytorch中[..., 0]的用法说明
May 20 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
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
2020/01/12 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
详解Django通用视图中的函数包装
2015/07/21 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
详解python数据结构和算法
2019/04/18 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
pycharm快捷键汇总
2020/02/14 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
学徒工职责
2014/03/06 职场文书
试用期辞职信范文
2015/03/02 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
装修安全责任协议书
2016/03/22 职场文书
服务器nginx权限被拒绝解决案例
2022/09/23 Servers