默认只输出'%(message)s',message既是各个级别的输入
class logging.Formatter(fmt=None, datefmt=None, style='%')
| 方法 | 描述 |
|---|---|
| format(record) | |
| formatTime(record, datefmt=None) | |
| formatException(exc_info) | |
| formatStack(stack_info) |
可用的输出
| 属性 | 格式 | 描述 |
|---|---|---|
| asctime | %(asctime)s | 易读的时间格式: 默认情况下是’2003-07-08 16:49:45,896’的形式(逗号之后的数字是毫秒部分的时间) |
| filename | %(filename)s | 路径名的文件名部分。 |
| funcName | %(funcName)s | 日志调用所在的函数名 |
| levelname | %(levelname)s | 消息的级别名称(‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’). |
| levelno | %(levelno)s | 对应数字格式的日志级别 (DEBUG, INFO, WARNING, ERROR,CRITICAL). |
| lineno | %(lineno)d | 发出日志记录调用的源码行号 (如果可用)。 |
| module | %(module)s | 所在的模块名(如test6.py模块则记录test6) |
| message | %(message)s | 记录的信息 |
| name | %(name)s | 调用的logger记录器的名称 |
| process | %(process)d | 进程ID |
| processName | %(processName)s | 进程名 |
| thread %(thread)d | 线程ID | |
| threadName | %(threadName)s | 线程名 |
logging.basicConfig(
format='asctime: %(asctime)s \n' # 时间
'filename_line: %(filename)s_[line:%(lineno)d] \n' # 文件名_行号
'level: %(levelname)s \n' # log级别
'message: %(message)s \n', # log信息
datefmt='%a, %d %b %Y %H:%M:%S',
filename='./log.log',
filemode='a') # 如果模式为'a',则为续写(不会抹掉之前的log)
参考:
https://docs.python.org/3/library/logging.html#formatter-objects
本文详细介绍了Python中logging模块的使用方法,包括Formatter类的格式设置,如何通过配置基本参数来定制日志输出,以及各种日志级别的具体应用。文章还提供了丰富的代码示例,帮助读者理解如何在实际项目中有效利用日志进行调试和错误追踪。

1680

被折叠的 条评论
为什么被折叠?



