人生苦短,我用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