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 20 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
python删除服务器文件代码示例
Feb 09 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
Dec 05 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
Python画图实现同一结点多个柱状图的示例
Jul 07 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
python之生产者消费者模型实现详解
Jul 27 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
Python命令行参数定义及需要注意的地方
Nov 30 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
用libTemplate实现静态网页的生成
2006/10/09 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
克隆一个新项目的快捷方式
2013/04/10 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
python实现的一个火车票转让信息采集器
2014/07/09 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
python版学生管理系统
2018/01/10 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
Python脚本按照当前日期创建多级目录
2019/03/01 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
群胜软件Java笔试题
2012/09/29 面试题
工程地质勘察专业大学生求职信
2013/10/13 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
留学经费担保书
2014/05/12 职场文书
高考标语大全
2014/06/05 职场文书
美术社团活动总结
2014/06/27 职场文书
三好生演讲稿
2014/09/12 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
汽车转让协议书
2015/01/29 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
MySQL 开窗函数
2022/02/15 MySQL