日志



一、日志的作用:

记录在系统上面进行的操作 记录系统运行状态 出现问题也能很快定位问题

二、日志组件:

1、loggers:日志器
2、handler:处理器
3、formatter:格式器

方法一:封装

 1 import logging
 2 
 3 def test_log():
 4     # 创建一个日志器  别的文件使用日志  就用到这个日志器
 5     logger=logging.getLogger()
 6     # 设置日志级别  日志信息输出info以上的级别信息 
 7     logger.setLevel(logging.INFO)
 8     # 创建一个格式器 
 9     fmt='%(asctime)s %(filename)s %(levelname)s  %(funcName)s  %(message)s'
10     formater=logging.Formatter(fmt)
11     # 处理器 Handler  要把日志信息输出到哪
12     # 创建一个输出到控制台的处理器 
13     sh=logging.StreamHandler()
14     # 把设置的日志信息放到控制台中
15     logger.addHandler(sh)
16     # 控制台设置格式器
17     sh.setFormatter(formater)
18 
19     # 在文件里面生成日志信息  创建处理器  文件处理器  处理器的作用:把日志信息输出到指定的位置
20     # 文件处理器创建  日志信息存放在哪
21     fh=logging.FileHandler('log1.log',encoding='utf-8')
22     # 需要把日志信息放到文件处理器里面去
23     logger.addHandler(fh)
24     # 给fh设置格式
25     fh.setFormatter(formater)
26     return logger

方法二:自定义配置文件log.ini

[loggers]
keys=root

[handlers]
keys=fileHandler,streamHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=INFO
handlers=fileHandler,streamHandler

[handler_fileHandler]
class=FileHandler
level=INFO
formatter=simpleFormatter
args=('mylog.log','a','utf-8')

[handler_streamHandler]
class=StreamHandler
level=INFO
formatter=simpleFormatter



[formatter_simpleFormatter]
format=%(asctime)s %(filename)s %(levelname)s  %(funcName)s  %(message)s