python logging 模块无法打印日志道文件

2013-03-06 19:54:18 +08:00
 lvii
$ python ~/logfile.py
WARNING:root:This is warning message
只在屏幕输出上面这句,指定的日志文件是空的
将 logger=logging.getLogger('hello') 改为 logger=logging.getLogger() 才能输出到日志文件,不太明白为什么会这样子?


#!/usr/bin/python2
# coding=utf8

import os
import sys
import logging
import logging.handlers

## 日志级别大小关系为:NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL
log_file='myapp.log'

logger=logging.getLogger('hello') ##########
logger.setLevel(logging.NOTSET)

formatter=logging.Formatter('%(asctime)s %(levelname)s %(message)s')

file_handler=logging.handlers.RotatingFileHandler(log_file,maxBytes=1000,backupCount=5)
file_handler.setFormatter(formatter)

logger.addHandler(file_handler)

logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')
4319 次点击
所在节点    Python
2 条回复
xuwenbao
2013-03-07 08:57:59 +08:00
logger.setLevel(logging.NOTSET) 修改为 logger.setLevel(logging.DEBUG),NOTSET并不是最小的级别,而是代表继承“parent”。

logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')
这三句改为
logger.debug('This is debug message')
logger.info('This is info message')
logger.warning('This is warning message')
lvii
2013-03-08 11:22:59 +08:00
@xuwenbao 兄,修改为 logger 对象后,可以输出日志到文件,但是只有 warning 日志
debug 和 info 没有,修改日志级别为 DEBUG 后,debug 和 info 正常输出,谢谢科普 ...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/62130

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX