关于python:金字塔日志记录

Pyramid logging

我有一个金字塔应用程序,我希望日志到达stderr和stdout。stdout应该是"信息"级别及以下。stderr应为"警告"或更高。如何更改.ini文件以执行此操作?

目前我是这样登录的,这被认为是正确的方式吗?

1
2
3
log = logger.getLogger(__name__)
log.info("update ...")
log.error("MAYDAY MAYDAY... BOOM!!!")

目前我使用的是默认日志记录,就是这个。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[loggers]
keys = root, app

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = WARN
handlers = console

[logger_app]
level = WARN
handlers =
qualname = app

[handler_console]
class = StreamHandler
args = (sys.stderr,)                                                                                                                          
85 level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s

可以向根目录添加多个处理程序,以逗号分隔。如果要在"仅接受高于此日志记录级别的消息"标准(即仅调试消息)之外进行筛选,则需要使用日志记录筛选器之类的工具来根据特定级别接受/拒绝记录:http://docs.python.org/library/logging.html过滤对象

您当前使用log = logging.getLogger(__name__)进行日志记录的方法非常有效,是组织日志层次结构的一种方便方法。