python日志模块正确处理syslog rfc5424消息的日志格式化程序

rfc5424syslog的Python项目详细描述


python-rfc5424-logging-formatter
一个用于python日志模块正确处理syslog rfc5424消息的日志格式化程序



合规性(使用更正的TZ格式)

对于“正确”的等时格式,请在该类或从该类派生的类的格式化程序实例中使用“%(等时)s”。这是为了解决strftime
没有机制按照rfc5424的要求生成格式为
“-08:00”的时区的问题。


这确实是rfc5424和strftime的一个
问题。我不确定这个
在将来是否会被修复(在一种或另一种情况下)


这个格式化程序还有一个额外的好处,就是允许指定
'%(hostname)s',如果socket.gethostname()返回
错误数据(异常),它将返回rfc5424中指定的'-'
http://tools.ietf.org/html/rfc5424

具体来说,Linux ksyslog实现
仍然使用RFC3164格式(类似于rsyslog的内容仍然遵循
)rfc5424格式字符串应该类似于:
````
%(isotime)s%(hostname)s%(process)d---%(message)s
````


消息
节,并且可以将任何数据应用到它,例如:
```
<;…>;%(levelname)s[%(module)s%(funcname)s]%(消息)s
````


节是“msg id”和“structured data”元素,



格式化程序的示例用法导入日志记录

logger=logging.getlogger('rfc5424_example')
handler=logging.handler s.sysloghandler(address=<;address of syslogserver>;)
format='%(isotime)s%(hostname)s%(name)s%(process)d---%(message)s'
formatter=rfc5424syslog(format)

handler.setformatter(formatter)

logger.addhandler(handler)

logger.info('rfc5424日志消息格式正在使用中')
``````

许可证
----


通过BR/>自由软件基金会,许可证的第2版,或BR/>(按您的选择)任何后续版本。
BR/>此程序被分发,希望它是有用的,
但没有任何保证;甚至没有隐含的保证:BR/>适销性或适合特定用途。有关详细信息,请参阅gnu通用公共许可证。

如果没有,请参见http://www.gnu.org/licenses/>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?