我正在使用带有“native”的python日志记录模块 配置文件支持(config.fileconfig),如以下文档中所述:
http://docs.python.org/library/logging.html(参见logging.conf文件)
我想知道是否可以在配置文件中提供列表数据格式:
示例配置文件如下:
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
我虽然在格式中使用\ t就足够但不会:
format=%(asctime)s\t%(name)s\t%(levelname)s\t%(message)s\t
我尝试了一些没有成功的事情。我想这很容易,但是我找不到它!
我该怎么做?
答案 0 :(得分:15)
很抱歉来晚会,但这些信息对其他人也很有用......
我还想要一个列表的日志,特别是“levelname”字段
我的格式看起来像这样
format = %(asctime)s - %(levelname)s - %(name)s - %(message)s
使我的日志看起来像这样
2014-10-01 17:42:54,261 - INFO - internal.....
2014-10-01 17:43:09,700 - DEBUG - internal.....
2014-10-01 17:44:02,994 - WARNING - internal.....
2014-10-01 17:44:31,686 - CRTITICAL - internal.....
我的解决方案是改变这样的格式
format = %(asctime)s - %(levelname)-8s - %(name)s - %(message)s
这使我的日志变成了这样的
2014-10-01 17:42:54,261 - INFO - internal.....
2014-10-01 17:43:09,700 - DEBUG - internal.....
2014-10-01 17:44:02,994 - WARNING - internal.....
2014-10-01 17:44:31,686 - CRTITICAL - internal.....
“8”是预期最长字符串的长度,在本例中为“CRITICAL”。 “ - ”告诉右键填充字符串
旁注:做
print "-%3s-" % "abcd"
将输出
-abcd-
......字符串不会被截断
答案 1 :(得分:6)
您是否尝试在配置文件中输入文字制表符而不是\t
?这对我有用。