300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python3 logging模块_Python3使用logging模块记录日志

python3 logging模块_Python3使用logging模块记录日志

时间:2024-07-28 22:55:37

相关推荐

python3 logging模块_Python3使用logging模块记录日志

之前的时候我记录日志都是自己手写,将内容写进文件,总觉得这样好low,今天在写企业微信脚本的时候,就查了下,果然有logging模块,就直接拿过来用了,百度代码如下logging.basicConfig(

level=logging.DEBUG,#loglevel

format='%(asctime)s%(filename)s:%(levelname)s%(message)s',#logformat

datefmt='%Y-%m-%d%A%H:%M:%S',#recordtime

filename='./log/log.txt',#logfilename

filemode='w')

console=logging.StreamHandler()#consolehandler

console.setLevel(logging.INFO)#handlerlevel

formatter=logging.Formatter('%(asctime)s%(filename)s:%(levelname)s%(message)s')#handlerformat

console.setFormatter(formatter)

logging.getLogger().addHandler(console)

结果发现,日志可以记录,但是中文会乱码(吐槽下百度搜来的代码有些真的是胡乱写)

于是看了下文档

修改代码如下LOG_FORMAT="%(asctime)s-%(levelname)s-%(message)s"

DATE_FORMAT="%m/%d/%Y%H:%M:%S%p"

fp=logging.FileHandler('./log/log.txt',encoding='utf-8')

logging.basicConfig(level=logging.DEBUG,format=LOG_FORMAT,datefmt=DATE_FORMAT,handlers=[fp])

logging.debug(msg)

乱码问题解决

另外,查询文档得到如下Logger:日志,暴露函数给应用程序,基于日志记录器和过滤器级别决定哪些日志有效。

LogRecord :日志记录器,将日志传到相应的处理器处理。

Handler :处理器, 将(日志记录器产生的)日志记录发送至合适的目的地。StreamHandler是输出到控制台命令行,FileHandler是输出到文件

Filter :过滤器, 提供了更好的粒度控制,它可以决定输出哪些日志记录。

Formatter:格式化器, 指明了最终输出中日志记录的布局。

日志级别如下,可以按照自己的需求选用,系统默认输出Warning级别以上的消息

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。