logging还是很重要的,简单使用笔记记录。

参考链接:

https://www.cnblogs.com/CJOKER/p/8295272.html

https://www.cnblogs.com/deeper/p/7404190.html

https://www.jianshu.com/p/feb86c06c4f4

https://zhuanlan.zhihu.com/p/42638567(推荐看这个知乎的。)

参考书籍:Python3标准库,Python编程快速上手。

首先介绍一下,为什么要用logging,根据Python编程快速上手的书中解释。虽然每次使用logging需要设置logging.basicConfig,

但好处也是显而易见的,当你不想输出logging输出的时候,只需要把logging,disable同等级调整到最高就可以了。

首相我先上一个format常用格式说明
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息

英文版本:

可选的格式参数如下(Python 3.5):

%(asctime)s: Human-readable time when theLogRecordwas created. By default this is of the form ‘2003-07-08 16:49:45,896’ (the numbers after the comma are millisecond portion of the time).

%(created)f: Time when theLogRecordwas created (as returned bytime.time()).

%(filename)s: Filename portion ofpathname.

%(funcName)s: Name of function containing the logging call.

%(levelname)s: Text logging level for the message ('DEBUG','INFO','WARNING','ERROR','CRITICAL').

%(levelno)s: Numeric logging level for the message (DEBUG,INFO,WARNING,ERROR,CRITICAL).

%(lineno)d: Source line number where the logging call was issued (if available).

%(module)s: Module (name portion offilename).

%(msecs)d: Millisecond portion of the time when theLogRecordwas created.

%(message)s: The logged message, computed asmsg%args. This is set whenFormatter.format()is invoked.

%(name)s: Name of the logger used to log the call.

%(pathname)s: Full pathname of the source file where the logging call was issued (if available).

%(process)d: Process ID (if available).

%(processName)s: Process name (if available).

%(relativeCreated)d: Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded.

%(thread)d: Thread ID (if available).

%(threadName)s: Thread name (if available).

 

这个以后在写basicConfig里面要用,写在开头便于记忆。

先上简单代码:

import logging
logging.basicConfig(level=logging.DEBUG)
# logging.disable(logging.CRITICAL)     # 这个可以设置等级,设置为该等级,则该等级与该等级以下的内容不会被执行。
logging.debug('hello')
logging.info('hello')
logging.warning('hello')
logging.error('hello')
logging.critical('hello')
/usr/local/bin/python3.7 /Users/shijianzhong/study/t_logging/t1.py
DEBUG:root:hello
INFO:root:hello
WARNING:root:hello
ERROR:root:hello
CRITICAL:root:hello

 从输出可以看出,默认的信息输出为等级,第二个%(name)s,,第三个信息。

先简单记录一下,logging其实还是非常复杂的,等后续用到的时候,再来添加相关内容。

猜你喜欢

转载自www.cnblogs.com/sidianok/p/12020130.html