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实现的希尔排序算法实例
Jul 01 Python
Numpy中转置transpose、T和swapaxes的实例讲解
Apr 17 Python
Python实现的个人所得税计算器示例
Jun 01 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
python实现简单五子棋游戏
Jun 18 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
彻底解决Python包下载慢问题
Nov 15 Python
python链表类中获取元素实例方法
Feb 23 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
php-fpm中max_children的配置
2019/03/15 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
[原创]用javascript实现检测指定目录是否存在的方法
2008/01/12 Javascript
Prototype String对象 学习
2009/07/19 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
2012/10/24 Javascript
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
2017/01/13 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
python读取视频流提取视频帧的两种方法
2020/10/22 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
Python笔记之观察者模式
2019/11/20 Python
keras 多gpu并行运行案例
2020/06/10 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
如何在Shell脚本中使用函数
2015/09/06 面试题
幼儿园师德师风学习材料
2014/05/29 职场文书
小学班级口号
2014/06/09 职场文书
大学生找工作求职信
2014/07/09 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
宇宙与人观后感
2015/06/05 职场文书
考试后的感想
2015/08/07 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
Java tomcat手动配置servlet详解
2021/11/27 Java/Android