栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

log4j2-Syslog附加程序和PatternLayout

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

log4j2-Syslog附加程序和PatternLayout

由于这提到log4j2
bug报告
,log4j2开发商编码的SyslogAppender作为SocketAppender硬连线到SyslogLayout

因为它旨在符合原始syslog格式或RFC5424。因此,不允许使用其他布局。

不幸的是,他们没有意识到RFC 5424规范并未对日志中包含的消息实施任何特定的格式,在Log4j2实现中只是

%m
日志的一部分。

为了解决此问题,一种解决方案(在同一错误报告中建议)是使用SocketAppender内部的PatternLayout重现syslog格式,如下所示

<Socket name="SYSLOG" host="localhost" port="514" protocol="UDP">  <PatternLayout    pattern="&lt;1&gt;%d{MMM dd HH:mm:ss} ${hostName} appName: {      &quot;host&quot;:&quot;${hostName}&quot;,      &quot;thread&quot;:&quot;%t&quot;,      &quot;level&quot;:&quot;%p&quot;,      &quot;logger&quot;:&quot;%c{1}&quot;,      &quot;line&quot;:%L,      &quot;message&quot;:&quot;%enc{%m}&quot;,      &quot;exception&quot;:&quot;%exception&quot;      }%n"  /></Socket>

这将通过UDP将格式正确的RFC5424日志写入本地514端口。以下是示例日志输出:

Sep 14 10:40:50 app-hostname app-name: { "host":"host-name-01", "thread":"http-nio-8080-exec-4", "level":"DEBUG", "logger":"ExecuteTimeInterceptor", "line":52, "message":"GET &#x2F;health 200 served in 3", "exception":"" }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号