Python将log日志保存至指定文件

2021/6/4 1:22:18

本文主要是介绍Python将log日志保存至指定文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方式1

import logging

logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)
# 创建日志保存文件
fh = logging.FileHandler('spam.log')
fh.setLevel(logging.DEBUG)
# 创建控制台日志输出
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR)

# 设置日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
fh.setFormatter(formatter)

# add the handlers to logger
logger.addHandler(ch)
logger.addHandler(fh)

# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warning('warn message')
logger.error('error message')
logger.critical('critical message')

日志文件中的格式所用到的参数如下所示:

属性名称

格式

描述

args

不需要格式化。

合并到 msg 以产生 message 的包含参数的元组,或是其中的值将被用于合并的字典(当只有一个参数且其类型为字典时)。

asctime

%(asctime)s

表示 LogRecord 何时被创建的供人查看时间值。 默认形式为 '2003-07-08 16:49:45,896' (逗号之后的数字为时间的毫秒部分)。

created

%(created)f

LogRecord 被创建的时间(即 time.time() 的返回值)。

exc_info

不需要格式化。

异常元组 (例如 sys.exc_info) 或者如未发生异常则为 None

filename

%(filename)s

pathname 的文件名部分。

funcName

%(funcName)s

函数名包括调用日志记录.

levelname

%(levelname)s

消息文本记录级别 ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL').

levelno

%(levelno)s

消息数字记录级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL).

lineno

%(lineno)d

发出日志记录调用所在的源行号(如果可用)。

message

%(message)s

记入日志的消息,即 msg % args 的结果。 这是在发起调用 Formatter.format() 时设置的。

module 模块

%(module)s

模块 (filename 的名称部分)。

msecs

%(msecs)d

LogRecord 被创建的时间的毫秒部分。

msg

不需要格式化。

在原始日志记录调用中传入的格式字符串。 与 args 合并以产生 message,或是一个任意对象 (参见 使用任意对象作为消息)。

name

%(name)s

用于记录调用的日志记录器名称。

pathname

%(pathname)s

发出日志记录调用的源文件的完整路径名(如果可用)。

process

%(process)d

进程ID(如果可用)

processName

%(processName)s

进程名(如果可用)

relativeCreated

%(relativeCreated)d

以毫秒数表示的 LogRecord 被创建的时间,即相对于 logging 模块被加载时间的差值。

stack_info

不需要格式化。

当前线程中从堆栈底部起向上直到包括日志记录调用并导致创建此记录的堆栈帧的堆栈帧信息(如果可用)。

thread

%(thread)d

线程ID(如果可用)

threadName

%(threadName)s

线程名(如果可用)



这篇关于Python将log日志保存至指定文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程