可以直接使用的windows系统,读取特定日志的python脚本

自己是python 门外汉,由于工作需要,想要把很长的日志简化成 自己关心的内容,

由于没有写python的同事,那就靠自己吧。

需求:日志很长,有部分日志不需要关心,只想读取含有特殊关键字的行。

比如,一个airflow任务下有很多小作业,以python文件形式存储的,我想知道此任务下有什么小作业,可以看的简单明了。

生成的结果如下:

代码如下:

read_particular_log.py:

# -*- coding: utf-8 -*-
'''
读取特殊日志
'''
import os
import smtplib
import time
import datetime
 
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication

 
#读取特殊日志
def getContent(resouce, final):
  f = open(resouce, 'r')
  finalfile = open(final, 'w')
  try:
    for line in f:
        if "--job_id" in line or "task_id = " in line or "BashOperator" in line :
              # 按行读取,如果该行包含“ERORR”字符串,则将该行写入目标文件
          finalfile.write(line)
 
  finally:
    f.close()
    finalfile.close()
 
# 获取昨天的时间,这块可以任意改成自己需要的时间
def get_today_date():
  today = datetime.datetime.now()
  #oneday = today - datetime.timedelta(days=1)
  oneday = today
  today = oneday.strftime("%Y%m%d")
  return today
 
 
 
if __name__ == '__main__':
  today = get_today_date()

  sourcedir = "C:/Users/lizhenzhu/Desktop/python/py/" +"hry_etl_log.py" # 需要读取的源文件路径
  objectdir = "C:/Users/lizhenzhu/Desktop/python/log/hry_etl_log.log"  # 存放的目标文件


  getContent(sourcedir, objectdir)
  print ("2")
 

完成。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值