1.logging模块配置
- 默认日志级别为warning,可通过basicConfig()函数修改
- debug < info < warning < error < critical
import logging
logging.basicConfig(
level = logging.DEBUG,
filename='loger.log',
filemode='w',
format = '%(asctime)s [%(lineno)d] %(message)s'
)
print(logging.debug('HELLO'))
2.logging同时输出到屏幕跟你文件的方法
# logging.getLogger()创建对象可以加参数,不加默认创建的对象为根节点root;
# 如果logger1 = logging.getLogger("test"),logger1 = logging.getLogger("test")创建logger对象,名字一样对应的是同一个对象,修改日志等级会互相影响;
# 如果同时存在父节点跟子节点,则打印子节点日志的时候,会把父节点的日志也打印一遍,相当于两次,对父节点去除打印功能可解决;
import logging
logger = logging.getLogger()
fh = logging.FileHandler("test_log","w")#不写默认文件写入方式为a,也可以自己指定
ch = logging.StreamHandler()
fm = logging.Formatter("%(asctime)s %(message)s")
fh.setFormatter(fm)
ch.setFormatter(fm)
logger.addHandler(fh)
logger.addHandler(ch)
logger.setLevel(logging.DEBUG)
print(logger.debug("hello"))