logger.setLevel()
- 3、将日志内容传递相关联的handlers中
logger.addHandler()和logger.removeHandler()
它们将日志分发到不同的目的地:文件、标准输出、邮件、或者通过socke、http等协议发送到任何地方。
- SreamHandler:标准输出stdout(如显示器)分发器。
创建方法:sh = logging.StreamHandler(stream=None)
- FileHandle:将日志保存到磁盘文件的处理器
创建方法:fh=logging.FileHandler(filename,mode=“a”,encoding=Node,delay=False)
setFormatter():设置当前handler对象使用的消息格式。
Formatter对象用来最终设置日志信息的顺序、结构和内容。
构造方法:ft = logging.Formatter.__init__(fmt=None,datefmt=None,style='%')
datefmt默认格式为:%Y-%m-%d %H:%M:%S
;style参数默认为百分符%
,这表示%(<dictionary key>)s
格式的字符串
| 属性 | 格式 | 描述 |
| — | — | — |
| asctime | %(asctime)s | 日志产生时间,默认格式为 2021-11-23 10:20:30,123
|
| created | %(created)f | time.time()生成的日志创建时间戳 |
| filename | %(filename)s | 生成日志的程序名 |
| funcName | %(funcName)s | 调用日志的函数名 |
| levelname | %(levelname)s | 日志级别(DEGBU、INFO、WARNING、ERROR、CRITICAL) |
| levelno | %(levelno)s | 日志级别对应的数值 |
| lineno | %(lineno)d | 日志所针对的代码行号(报错代码所在行数) |
| module | %(module)s | 生成日志的模块名 |
| msecs | %(msecs)d | 日志生成时间的毫秒部分 |
| message | %(message)s | 具体的日志信息 |
| name | %(name)s | 日志调用者 |
| pathname | %(pathname)s | 生成日志的完整路径 |
| processName | %(processName)s | 进程名(如果可用) |
| thread | %(thread)d | 生成日志的线程id(如果可用) |
| process | %(process)d | 生成日志的进程id |
| threadName | %(threadName)s | 线程名(如果可用) |
==========================================================================
- 默认情况:
import logging
logger = logging.getLogger()
print(logger)
print(type(logger))
输出结果如下:
<