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重试装饰器示例
Feb 11 Python
python简单实现基于SSL的IRC bot实例
Jun 15 Python
python实现mysql的单引号字符串过滤方法
Nov 14 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
Mar 04 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
jupyter notebook中美观显示矩阵实例
Apr 17 Python
Python字符串三种格式化输出
Sep 17 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
基于PyInstaller各参数的含义说明
Mar 04 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
PHPCMS的使用小结
2010/09/20 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
HTML5附件拖拽上传drop & google.gears实现代码
2011/04/28 Javascript
js jquery数组介绍
2012/07/15 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
python使用建议与技巧分享(一)
2020/08/17 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
教师开学感言
2014/02/14 职场文书
客户接待方案
2014/02/26 职场文书
李开复演讲稿
2014/05/24 职场文书
2014最新实习证明模板
2014/10/02 职场文书
运动会开幕词
2015/01/28 职场文书