吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1463|回复: 5
收起左侧

[学习记录] Python3 日志学习笔记(logging)

[复制链接]
Cool_Breeze 发表于 2021-7-19 14:56
[Python] 纯文本查看 复制代码
# -*- coding : utf-8 -*-

import os
import sys
import logging
import threading
import subprocess

import xml.etree.ElementTree as ET


def Ping():

    log = logging.getLogger("root.Ping")
    ping = subprocess.Popen(['ping', '127.0.0.1', "-n", "2"], stdout = subprocess.PIPE, shell = True)
    log.info(f"{ping} 启动成功")
    return ping

def Dxdiag():
    
    log = logging.getLogger("root.Dxdiag")
    if os.path.exists("test.xml"):
        log.warning(f"删除test.xml")
        os.remove("test.xml")
    dxdiag = subprocess.Popen(['dxdiag', "/whql:off", '/64bit', "/x", "test.xml"])
    log.info(f"{dxdiag} 启动成功")
    return dxdiag

def TaskPing():

    log = logging.getLogger("root.TaskPing")
    ping = Ping()
    log.info(f"等待 {ping}")
    ping.wait()
    log.debug(ping.stdout.read().decode("gbk"))
    log.info(f"等待 {ping} 完成!")

def TaskDxdiag():
    log = logging.getLogger("root.TaskDxdiag")
    dxdiag = Dxdiag()
    log.info(f"等待 {dxdiag}")
    dxdiag.wait()
    if os.path.exists("test.xml"):
        root = ET.parse("test.xml").getroot()
        for n in root[0]:
            log.debug(n.tag + ":" + n.text)
    log.info(f"等待 {dxdiag} 完成!")

if __name__ == "__main__":
    
    # 日志配置
    log = logging.getLogger("root")
    # 写入文件
    fileHandler = logging.FileHandler("subprocess.log", mode = "w", encoding = "gbk")
    fileHandler.setFormatter(logging.Formatter("%(filename)s - %(lineno)d - %(asctime)s - %(name)s - %(levelname)s - %(message)s"))
    fileHandler.setLevel(logging.DEBUG) # 过滤日志级别
    # 写入控制台
    consoleHandler = logging.StreamHandler()
    consoleHandler.setFormatter(logging.Formatter("%(asctime)s -  %(levelname)s - %(message)s"))
    consoleHandler.setLevel(logging.INFO)
    
    log.addHandler(fileHandler)
    log.addHandler(consoleHandler)
    # 设置日志级别
    log.setLevel(logging.DEBUG)
    # 日志配置结束
    
    t1 = threading.Thread(target = TaskPing)
    t2 = threading.Thread(target = TaskDxdiag)
    
    t1.start()
    t2.start()
    
    t2.join()
    log.info("程序结束!")


控制台:
[Asm] 纯文本查看 复制代码
2021-07-19 14:53:35,123 -  WARNING - 删除test.xml
2021-07-19 14:53:35,130 -  INFO - <subprocess.Popen object at 0x00669790> 启动成功
2021-07-19 14:53:35,130 -  INFO - <subprocess.Popen object at 0x00BAAE10> 启动成功
2021-07-19 14:53:35,131 -  INFO - 等待 <subprocess.Popen object at 0x00669790>
2021-07-19 14:53:35,132 -  INFO - 等待 <subprocess.Popen object at 0x00BAAE10>
2021-07-19 14:53:36,199 -  INFO - 等待 <subprocess.Popen object at 0x00BAAE10> 完成!
2021-07-19 14:53:40,325 -  INFO - 等待 <subprocess.Popen object at 0x00669790> 完成!
2021-07-19 14:53:40,326 -  INFO - 程序结束!


文本:
[Asm] 纯文本查看 复制代码
Logger.py - 23 - 2021-07-19 14:53:35,123 - root.Dxdiag - WARNING - 删除test.xml
Logger.py - 26 - 2021-07-19 14:53:35,130 - root.Dxdiag - INFO - <subprocess.Popen object at 0x00669790> 启动成功
Logger.py - 16 - 2021-07-19 14:53:35,130 - root.Ping - INFO - <subprocess.Popen object at 0x00BAAE10> 启动成功
Logger.py - 41 - 2021-07-19 14:53:35,131 - root.TaskDxdiag - INFO - 等待 <subprocess.Popen object at 0x00669790>
Logger.py - 33 - 2021-07-19 14:53:35,132 - root.TaskPing - INFO - 等待 <subprocess.Popen object at 0x00BAAE10>
Logger.py - 35 - 2021-07-19 14:53:36,198 - root.TaskPing - DEBUG - 

正在 Ping 127.0.0.1 具有 32 字节的数据:

来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128

来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128



127.0.0.1 的 Ping 统计信息:

    数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

    最短 = 0ms,最长 = 0ms,平均 = 0ms


Logger.py - 36 - 2021-07-19 14:53:36,199 - root.TaskPing - INFO - 等待 <subprocess.Popen object at 0x00BAAE10> 完成!
Logger.py - 46 - 2021-07-19 14:53:40,324 - root.TaskDxdiag - DEBUG - Time:7/19/2021, 14:53:35
Logger.py - 46 - 2021-07-19 14:53:40,325 - root.TaskDxdiag - DEBUG - DxDiag64Bit:0
Logger.py - 47 - 2021-07-19 14:53:40,325 - root.TaskDxdiag - INFO - 等待 <subprocess.Popen object at 0x00669790> 完成!
Logger.py - 75 - 2021-07-19 14:53:40,326 - root - INFO - 程序结束!

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

无敌铁桶 发表于 2021-7-19 15:07
先来抢个沙发,哈哈哈哈
飘零星夜 发表于 2021-7-19 15:07
头像被屏蔽
绝地飞鸿 发表于 2021-7-19 15:41
yingsummery 发表于 2021-7-19 16:46
学习了,谢谢楼主
 楼主| Cool_Breeze 发表于 2021-7-19 17:17
飘零星夜 发表于 2021-7-19 15:07
最近写笔记的有点多啊, 我要不要来一波

下次使用,方便查找,。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 00:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表