python logging模块

Posted YanYan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python logging模块相关的知识,希望对你有一定的参考价值。

import logging


"""单一日志的简单配置,写入日志的编码目前默认是gbk"""
logging.basicConfig(
    filename=xx.log,  # 日志文件
    format=%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s,
    datefmt=%Y-%m-%d %H:%M:%S,  # 日志时间格式
    level=30)  # 日志等级.30分以上的信息会记录到日志

# 5个等级.
logging.critical("严重信息")  # 50分
logging.error("错误信息")  # 40分
logging.warning("警告信息")  # 30分
logging.info("普通信息")  # 20分
logging.debug("详细信息")  # 10分

logging.log(35, "自定义消息")  # 35分

 

import logging


"""多个日志文件的配置"""
file_handler = logging.FileHandler(user.log, a, encoding=utf-8)
file_handler.setFormatter(logging.Formatter(fmt=%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s))
logger1 = logging.Logger(用户信息, level=logging.ERROR)
logger1.addHandler(file_handler)  # 把logger和handler绑定在一起

file_handler2 = logging.FileHandler(sys.log, a, encoding=utf-8)
file_handler2.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s"))
logger2 = logging.Logger(系统信息, level=logging.ERROR)
logger2.addHandler(file_handler2)

logger1.error(用户信息)
logger2.error(系统信息)

 

try:
    print(1/0)  # ZeroDivisionError: division by zero
    lst = [1, 2, 3]
    it = lst.__iter__()
    print(it.__next__())
    print(it.__next__())
    print(it.__next__())
    print(it.__next__())
except StopIteration:
    print("迭代器没数据了")
except ZeroDivisionError:
    print("除数不能为零")
except Exception:
    print("程序出错了")
finally:
    print("有没有错误都走这里")

 

import logging
import traceback


"""多个日志文件的配置"""
file_handler = logging.FileHandler(user.log, a, encoding=utf-8)
file_handler.setFormatter(logging.Formatter(fmt=%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s))
logger1 = logging.Logger(用户信息, level=logging.ERROR)
logger1.addHandler(file_handler)  # 把logger和handler绑定在一起

file_handler2 = logging.FileHandler(sys.log, a, encoding=utf-8)
file_handler2.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s"))
logger2 = logging.Logger(系统信息, level=logging.ERROR)
logger2.addHandler(file_handler2)

try:
    print(1/0)
except Exception:
    logger1.error(traceback.format_exc())  # format_exc() 拿到错误位置
finally:
    print("报不报错,都会走这里!")

 

以上是关于python logging模块的主要内容,如果未能解决你的问题,请参考以下文章

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

python常用代码片段总结

前端开发常用js代码片段

vs code 自定义代码片段

如何有条件地将 C 代码片段编译到我的 Perl 模块?