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第三方库


热门话题
部署在kubernetes上时,微服务中服务间通信中的java连接超时问题   java Nway合并对2G字符串文件进行排序   java如何使用FlexJson按特定顺序序列化对象和属性   如何在java布尔方法中导入文本文件   swing需要帮助在我的Java GUI中实现用户输入的侦听器   java如何读取枚举中Spring Messagesource的内容?   每个Ajaxcall上(之前和之后)的java Javascript   java compareTo(Comparable)方法对于Comparable类型未定义   带换行符的java Bash输入重定向   使用Spring授权标记检查用户是否登录时发生java错误?   使用大尺寸(100000)数组执行快速排序时出现Java StackOverflower错误   java forEach迭代器标记   Java ClassNotFound异常,Maven依赖项作为JAR   java将HQL转换为SQL查询   java正在将片段列表发送到FragmentPagerAdapter   java onActivityResult应该调用super。onActivityResult   java如果我导入一个超类,我也需要导入它的子类吗?   java是否可以通过openid协议对aadhar进行身份验证