我可以登录到syslog,但无法确定如何指定“标记”。日志记录当前发布以下内容:
Mar 3 11:45:34 TheMacMini Unknown: INFO FooBar
但我想让“未知”变成某种东西。例如:
Mar 3 11:45:34 TheMacMini Foopybar: INFO FooBar
如果我在命令行中使用logger
,它可以通过-t
选项进行控制。。。
$ logger -t Foopybar FooBar && tail -1 /var/log/system.log
Mar 3 12:05:00 TheMacMini Foopybar[4566]: FooBar
但是从python日志中我似乎无法指定标记:
import logging
logging.info("FooBar")
把上面的“未知”标签给我。我定义了这个规格:
LOGGING = {
'version': 1,
'formatters': {
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'syslog':{
'address': '/var/run/syslog',
'class': 'logging.handlers.SysLogHandler',
'facility': 'local2',
'formatter': 'simple'
}
},
'loggers': {
'': {
'handlers': ['syslog'],
'level': 'INFO',
}
}
}
如何指定标记,使其不总是“未知”?
标记日志消息的简单方法
执行以下操作:
logging.info("TagName: FooBar")
你的信息将被标记!您只需要用“标记名:”开始所有消息。这当然不是很优雅。更好的解决方案
设置记录器:
使用它:
我添加这个只是为了完成,尽管@sasha的答案绝对正确。
如果碰巧使用
syslog.syslog
将消息直接记录到syslog,则可以使用syslog.openlog
函数设置标记:回到linux外壳:
相关问题 更多 >
编程相关推荐