python对日志按天分割

该博客介绍了如何使用Python将日志文件按照日期进行分割,以方便管理和分析。示例内容展示了日志条目的格式,并说明了期望的分割结果,即文件名以访问日期命名,如access.log-20160101。
摘要由CSDN通过智能技术生成

日志格式:

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()[
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用 Python 标准库中的 logging 模块来实现将运行程序的日志按天写入的功能。具体步骤如下: 1. 导入 logging 模块 ```python import logging ``` 2. 配置 logging ```python # 创建 Logger 对象 logger = logging.getLogger() # 设置日志级别为 DEBUG,即输出所有级别的日志 logger.setLevel(logging.DEBUG) # 创建一个按天分割日志的处理器 log_file = f"log/{datetime.datetime.now().strftime('%Y-%m-%d')}.log" handler = logging.handlers.TimedRotatingFileHandler( log_file, when='midnight', interval=1, backupCount=7) # 设置输出格式 formatter = logging.Formatter( '%(asctime)s %(levelname)-8s %(message)s', '%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) # 将处理器添加到 Logger 对象中 logger.addHandler(handler) ``` - `logger.setLevel(logging.DEBUG)`:设置日志级别为 DEBUG,这样所有级别的日志都会被记录。 - `log_file`:设置日志文件的路径和文件名,使用了当前日期来动态生成文件名。 - `logging.handlers.TimedRotatingFileHandler`:创建按天分割日志处理器。 - `handler.setFormatter(formatter)`:设置日志的输出格式,此处使用了时间、级别和消息三个字段。 3. 记录日志 ```python logger.debug('This is a debug message') logger.info('This is an info message') logger.warning('This is a warning message') logger.error('This is an error message') logger.critical('This is a critical message') ``` - `logger.debug`:记录 debug 级别的日志。 - `logger.info`:记录 info 级别的日志。 - `logger.warning`:记录 warning 级别的日志。 - `logger.error`:记录 error 级别的日志。 - `logger.critical`:记录 critical 级别的日志。 这样就可以实现将运行程序的日志按天写入的功能了。注意,需要先创建一个名为“log”的文件夹来存储日志文件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值