logging日志模块

Posted whileke

tags:

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

1.捕获异常并写入日志

import logging

obj = logging.basicConfig(   # 这里用basicConfig是配置,如果要打印到多个文件中是不行的,必须自定义
    filename=1x.txt,        # 要写入的文件名,这里如果没设置写入模式会默认追加a模式,要设置模式可以用filemode=
    format = %(asctime)s - %(name)s - %(levelname)s - %(module)s:  %(message)s %(pathname)s ,
      datefmt=%Y-%m-%d %H:%M:%S,   # 时间格式化
    level=logging.DEBUG,  # 设置写入的日志级别,不设置会默认到warning
                            # 日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG

)

import traceback
def func():
    try:
        a=a+1

    except Exception as e:
        # 获取当前错误的堆栈信息
        mg = traceback.format_exc()
        logging.error(mg)
func()

2.这里format中的一些格式化:

asctime 时间,有默认的格式

name 操作的用户名

levename 日志的级名

module 所在模块名

message 日志等级的标志

level 定义级数

pathname 打印当前执行程序的路径

lineno 打印日志的当前函数

 

3.日志写入多个文件的时候

import logging

file_handle = logging.FileHandler(1x.txt,encoding=UTF-8)  # 设置写入的文件名

log_fmt = logging.Formatter(fmt=%(asctime)s %(name)s %(levelname)s %(module)s : %(message)s )  # 设置写入格式
file_handle.setFormatter(log_fmt)

loggin1 = logging.Logger(name=x1,level=logging.ERROR)
loggin1.addHandler(file_handle)

loggin1.error(12314)


file_handle2 = logging.FileHandler(2x.txt,encoding=UTF-8)  # 设置写入的文件名

log_fmt2 = logging.Formatter(fmt=%(asctime)s %(name)s %(levelname)s %(module)s : %(message)s )  # 设置写入格式
file_handle2.setFormatter(log_fmt)

loggin2 = logging.Logger(name=x1,level=logging.ERROR)
loggin2.addHandler(file_handle)

loggin2.error(12314)

 

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

Python日志—Python日志模块logging介绍

python---Logging日志模块

PythonStudy——日志模块 logging

python——logging日志模块

WindowsGUI自动化测试框架搭建-日志模块封装(logging模块)

Python日志输出——logging模块