Python编程练习10

任务要求:读取日志文件log.txt,过滤ERROR log,将出现错误的用户名、IP地址、使用的客户端版本号打印出来,输出内容如下

知识点:文件读取、字符串查找&截取、json转换

参考答案:

# coding=utf-8

"""
    Author: 笨笨
    Date: 2021-12-30
"""

import json
log_file = open("log.txt", encoding='UTF-8')
lines = log_file.readlines()
msglist = []
for line in lines:
    startindex = line.find("用户信息错误:")
    if(startindex>0):
        msg = line[startindex+len("用户信息错误:"):]
        msglist.append(msg)

if (len(msglist) > 0):
    for m in msglist:
        d = json.loads(m)
        print(d["userInfo"]["username"])
        print(d["terminalIP"])
        print(d["terminalVersion"])
        print("============================")

log.txt

[INFO ] [2020-02-11 00:00:04] com.benli.analysis.services.impl.RealtimeListenerService  MQ message : {"extend":{"bookId":"D3C6AA9","courseId":134478,"duration":647},"logType":"OPERATION","opId":"003002001031","success":true,"terminalType":"Android-Moblie HONOR NEM-AL10  7.0 4.12.0","time":1581350400178,"userId":6529838}
[INFO ] [2020-02-11 00:00:08] com.benli.analysis.factory.PersistenceHandler  {"activityNum":0,"addUserNum":0,"fdate":20200210,"id":0,"loginUserNum":2,"mylabActiveNum":0,"qaNum":0,"qaReplyNum":0,"schoolId":1321468,"studentLoginNum":2,"taskNum":0,"teacherLoginNum":0,"userNum":1589,"workNum":0}
[INFO ] [2020-02-11 00:00:08] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data end at 1581350408805 spent 4359 ms ]
[INFO ] [2020-02-11 00:00:08] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data start at 1581350408806 ]
[INFO ] [2020-02-11 00:00:08] com.benli.analysis.services.impl.RealtimeListenerService  MQ message : {"logType":0,"opId":"003009001013","success":false,"terminalIP":"183.226.60.54","terminalType":4,"terminalVersion":"PC-Client 1.0.0.196","time":1581350400295,"userId":"-1","userInfo":{"pwd":"410808d975a795f7b0e57ed65c96a2f1","type_class":"com.benli","uid":-1,"user_id":-1,"user_type":0,"username":"benli002"},"userTypeString":"com.benli"}
[ERROR] [2020-02-11 00:00:08] com.benli.analysis.factory.entrance.LoginEntrance  用户信息错误:{"logType":0,"opId":"003009001013","success":false,"terminalIP":"182.221.70.54","terminalType":4,"terminalVersion":"PC-Client 3.0.0.196","time":1581350400295,"userId":"-1","userInfo":{"pwd":"410808d975a795f7b0e57ed65c96a2f1","type_class":"com.benli","uid":-1,"user_id":-1,"user_type":0,"username":"benli001"},"userTypeString":"com.benli"}
[INFO ] [2020-02-11 00:00:08] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data end at 1581350408808 spent 2 ms ]
[INFO ] [2020-02-11 00:00:08] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data start at 1581350408808 ]
[INFO ] [2020-02-11 00:00:08] com.benli.analysis.services.impl.RealtimeListenerService  MQ message : {"extend":{"bookId":"B9FC101","courseId":54072,"duration":1187},"logType":"OPERATION","opId":"003002001031","success":true,"terminalType":"PC-Client 3.0.0.196","time":1581350400853,"userId":2330966}
[INFO ] [2020-02-11 00:00:11] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data end at 1581350411057 spent 2249 ms ]
[INFO ] [2020-02-11 00:00:11] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data start at 1581350411062 ]
[INFO ] [2020-02-11 00:00:11] com.benli.analysis.services.impl.RealtimeListenerService  MQ message : {"extend":{"bookId":"0DEB806","courseId":126900,"duration":10},"logType":"OPERATION","opId":"003002001031","success":true,"terminalType":"Android-Moblie HUAWEI DRA-AL00  8.1.0 4.12.0","time":1581350400979,"userId":6160737}
[ERROR] [2020-02-12 00:05:09] com.benli.analysis.factory.entrance.LoginEntrance  用户信息错误:{"logType":0,"l":"003009001013","success":false,"terminalIP":"183.225.70.99","terminalType":4,"terminalVersion":"Moblie-Client 1.0.0.199","time":1581350400295,"userId":"-1","userInfo":{"pwd":"410808d975a795f7b0e57ed65c96a2f1","type_class":"com.benli","uid":-1,"user_id":-1,"user_type":0,"username":"benli005"},"userTypeString":"com.benli"}
[INFO ] [2020-02-11 00:00:15] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data end at 1581350415318 spent 4256 ms ]
[INFO ] [2020-02-11 00:00:15] com.benli.analysis.services.impl.RealtimeListenerService  [ processing a piece of data start at 1581350415335 ]

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值