logging 日志输出乱码 info_14-1-logging模块及使用

1.1、logging模块 Python内置的日志模块,日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。开发者还会区分事件的重要性,重要性也被称为 等级 或 严重性。正常的项目想看 程序状态变化,尽量不要用print(断点调试/日志)。任何语言、任何程...
摘要由CSDN通过智能技术生成

54a4be1a80f7ce1f70832ae6a3d5783c.png

1.1、logging模块

 Python内置的日志模块,日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。开发者还会区分事件的重要性,重要性也被称为 等级 或 严重性。

正常的项目想看 程序状态变化,尽量不要用print(断点调试/日志)。任何语言、任何程序都要记录日志。

Python中的日志要么输出至控制台,要么保存至文件。

1.2、日志级别

CRITICAL = 50 #FATAL = CRITICAL
ERROR = 40
WARNING = 30 #WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0 #不设置

1.3、默认级别为warning,默认打印到终端

import logging

logging.debug('调试debug')
logging.info('消息info')
logging.warning('警告warn')
logging.error('错误error')
logging.critical('严重critical')

'''
WARNING:root:警告warn
ERROR:root:错误error
CRITICAL:root:严重critical
'''

1.4、为logging模块指定全局配置,针对所有logger有效,控制打印到文件中

 可在logging.basicConfig()函数中通过具体参数来更改logging模块默认行为,可用参数有

(1)filename:用指定的文件名创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指定的文件中。
(2)filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
(3)format:指定handler使用的日志显示格式。 
(4)datefmt:指定日期时间格式。 
(5)level:设置rootlogger(后边会讲解具体概念)的日志级别 
(6)stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件,默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。

可指定的格式有:

145bcf9e24c9c22de4b4f3bd02cfcfca.png

实际应用

 执行程序为
    import logging
    logging.basicConfig(filename='access.log',
                        format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
                        datefmt='请叫我龙哥-v-%Y*%m*%d %H:%M:%S %p',
             
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值