利用python读取tomcat中log文件提取出错误日志生成新的文件

本文介绍如何使用Python快速读取Tomcat的日志文件,从中筛选出包含错误关键字的行,并将这些信息生成为新的日志文件。通过实例代码展示整个过程。
摘要由CSDN通过智能技术生成

人生苦短,我用python

废话不多说,直接上代码!

#!/usr/bin/env python
# coding=utf-8
import re


def find_error_log(log_name):
    original_file = open(log_name, encoding='utf-8')
    extract = []
    for line_data in original_file:
        error = re.search('error', line_data, re.IGNORECASE)
        exception = re.search('exception', line_data, re.IGNORECASE)
        java = re.search('at java', line_data, re.IGNORECASE)
        com = re.search('at com', line_data, re.IGNORECASE)
        org = re.search('at org', line_data, re.IGNORECASE)
        sun = re.search('at sun', line_data, re.IGNORECASE)
        if error or exception or java or com or org or sun:
            log_str = line_data
            extract.append(log_str)
    # 生成输出文档位置
    errlog = 'C:\\Users\\xxx\\Desktop\\checkLog\\out\\catalinaError.txt'
    new_file = open(errlog, 'w')
    new_file.writelines(extract)
    new_file.flush()
    new_file.close()
    original_file.close()
    return "返回啥都行"



if __name__ == '__main__':
    # 原日志位置
    returnMSG = find_error_log('C:\\Users\\xxx\\Desktop\\checkLog\\into\\catalina.out-20200424')
    print(returnMSG)

功能:读取log文件  筛选要查找的关键字所在行  生成新的文件

效果如下:为了效果就截取一个看看就得了!

2020-04-23 10:17:43,742 [http-nio-8080-exec-9] ERROR com.kinto.web.controller.SpiralApiController - [SPIRAL SELECT] システムエラーが発生しました。
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2
	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
	at com.sun.proxy.$Proxy104.selectOne(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:93)
	at com.sun.proxy.$Proxy166.selectMemberIdByEmail(Unknown Source)
	at com.kinto.web.module.spiral.select.PtNo07MemberInfoModule.lambda$execute$0(PtNo07MemberInfoModule.java:74)
	at java.base/java.util.Optional.ifPresent(Optional.java:183)
	at com.kinto.web.module.spiral.select.PtNo07MemberInfoModule.execute(PtNo07MemberInfoModule.java:73)
	at com.kinto.web.module.spiral.select.PtNo07MemberInfoModule.execute(PtNo07MemberInfoModule.java:26)
	at com.kinto.web.service.spiral.SpiralSelectService.select(SpiralSelectService.java:92)
	at com.kinto.web.service.spiral.SpiralSelectService$$FastClassBySpringCGLIB$$98d6910e.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springf
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值