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 迭代器与生成器实例详解
May 18 Python
Python_LDA实现方法详解
Oct 25 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
Python学习小技巧总结
Jun 10 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
python求质数的3种方法
Sep 28 Python
python 用下标截取字符串的实例
Dec 25 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
Python开发网站目录扫描器的实现
Feb 21 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
python实现飞船大战
Apr 24 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 缓存函数代码
2008/08/27 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
php分页函数完整实例代码
2014/09/22 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
PDO::getAttribute讲解
2019/01/28 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
js几个验证函数代码
2010/03/25 Javascript
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
社区优秀志愿者材料
2014/02/02 职场文书
工地安全检查制度
2014/02/04 职场文书
中秋晚会活动方案
2014/08/31 职场文书
Javascript设计模式之原型模式详细
2021/10/05 Javascript
使用Ajax实现无刷新上传文件
2022/04/12 Javascript