Linux python记录器,唯一的错误是写入

Linux python记录器,唯一的错误是写入,linux,logging,python-2.7,Linux,Logging,Python 2.7,我使用python 2.7.5 我创建了一个包含记录器配置的文件: [loggers] keys=root,api [logger_root] handlers=screen,file [logger_api] handlers=fileapi qualname=api [formatters] keys=simple,complex [formatter_simple] format=%(asctime)s - %(name)s - %(levelname)s - %(message)

我使用python 2.7.5 我创建了一个包含记录器配置的文件:

[loggers]
keys=root,api

[logger_root]
handlers=screen,file

[logger_api]
handlers=fileapi
qualname=api

[formatters]
keys=simple,complex

[formatter_simple]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s

[formatter_complex]
format=%(asctime)s - %(name)s - %(levelname)s - %(module)s : %(lineno)d - %(message)s

[handlers]
keys=file,screen,fileapi

[handler_screen]
class=StreamHandler
formatter=simple
level=NOTSET
args=(sys.stdout,)

[handler_file]
class=handlers.TimedRotatingFileHandler
interval=midnight
backupCount=5
formatter=complex
level=NOTSET
args=('/var/log/FMV/fmv.log',)

[handler_fileapi]
class=handlers.TimedRotatingFileHandler
interval=midnight
backupCount=5
formatter=complex
level=NOTSET
args=('/var/log/FMV/fmv_api.log',)
当我调用我的code logger.info等时:

_api_logger = logging.getLogger("api")
_api_logger.info("/index was called")
_api_logger.debug("/index was called")
_api_logger.error("/index was called")
在我的日志文件(/var/log/FMV/FMV_api.log)中,我看到了以下内容:

2013-06-12 01:17:55,599 - api - ERROR - api : 13 - /index was called
所以只有错误消息被记录到日志文件中。 为什么不将所有消息写入文件?

Logger.setLevel(lvl) 将此记录器的阈值设置为lvl。将忽略比lvl严重的日志消息。创建记录器时,级别设置为NOTSET(当记录器为根记录器时,将处理所有消息;当记录器为非根记录器时,将委托给父记录器)。请注意,创建根记录器时带有级别警告

术语“委托给父级”意味着,如果记录器具有NOTSET级别,则将遍历其祖先记录器链,直到找到具有NOTSET以外级别的祖先或到达根


添加以下代码可解决此问题:

[logger_api]
handlers=fileapi
qualname=api
level=DEBUG   <--- Added
[logger\u api]
handlers=fileapi
qualname=api

level=DEBUG我在配置文件中设置了记录器级别-level=NOTSET。为什么不起作用?是的,我读过。但是一个孩子不能理解它。为什么当我从代码中设置级别时,它工作,而当我从配置文件中设置级别时,它不工作?