一、快速入门
1、基础知识
派出:
控制台输出:print()
报告事件,发生在一个程序的正常运行:logging.info()或logging.debug()
发出警告关于一个特定的运行时事件:warnings.warn()或logging.warning()
报告一个错误对于一个特定的运行时事件:异常处理
报告一个错误当没有引发一个异常:logging.error()、logging.exception()或logging.critical()
级别:
DEBUG:详细的信息,通常只出现在诊断问题上
INFO:确认一切按预期运行
WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR:个更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。有两种方式记录跟踪,一种输出控制台,另一种是记录到文件中,如日志文件。
2、最简单的使用日志的方法:
(1) 设置logging.basic.Config
(2)使用logging.debug()、logging.info()、logging.warning()、logging.error()、logging.critical()输出相关日志
1
2
3
|
import
logging
logging.warning(
'error'
)
#在控制台输出WARNING:root:error
logging.info(
'msg'
)
#没有输出,因为默认级别是 WARNING,INFO小于此级别
|
写入一个文件里面:
#Logging to a file
import os
import logging
FILE = os.getcwd()
logging.basicConfig(filename=os.path.join(FILE,'log.txt'),level=logging.DEBUG)
logging.debug('写进去')
logging.info('滚进去')
logging.warning('也滚进去')
运行之后,打开该文件,效果如下:
3、被调用模块中的日志使用,也遵从调用模块中的日志配置
import logging
def lo():
logging.info('log1--')
import logging
import os
FILE = os.getcwd()
import log1
def main():
logging.basicConfig(filename=os.path.join(FILE,'log.txt'),level=logging.INFO)
logging.info('start--')
log1.lo()
logging.info('end--')
if __name__ == '__main__':
main()
运行后打开log.txt,结果如下:
INFO:root:start--
INFO:root:log1--
INFO:root:end--
4、日志消息内容可采用格式化输出
logging.warning('name:%s msg:%s','BeginMan','Hi') #方式一
logging.warning('name:%s msg:%s' %('BeginMan