首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mac上的Log4j2 Syslog附录格式化

Mac上的Log4j2 Syslog附录格式化
EN

Stack Overflow用户
提问于 2014-09-19 01:57:58
回答 1查看 1.1K关注 0票数 1

我对log4j2在Mac上的SyslogAppender (OSX10.9.2)有个问题。log4j2发送给syslog的默认格式会导致错误地解析消息。我的配置:

代码语言:javascript
运行
复制
<Syslog name="Syslog" host="localhost" port="514"
 protocol="UDP" format="RFC5424" appName="MyApp" id="log4j2-test"
 mdcIncludes="Priority,Logger,Exception,Message" newLine="true"> 
</Syslog>

当我跑步时:

代码语言:javascript
运行
复制
syslog -F raw

我得到以下信息:

代码语言:javascript
运行
复制
[ASLMessageID 1291756] [Time 1411090836] [TimeNanoSec 0] [Level 6] [PID 4294967295] [UID 4294967294] [GID 4294967294] [ReadGID 80] [Host 1] [Sender 2014-09-19T01] [Facility local0] [Message 40:36.481Z Mario.local MyApp - - - Hello, world!]

没有原始格式的相同消息如下所示:

代码语言:javascript
运行
复制
Sep 19 09:40:36 1 2014-09-19T01[4294967295] <Info>: 40:36.481Z Mario.local MyApp - - - Hello, world!

根据日期字符串在两个位置之间的分割方式,log4j2 SyslogAppender似乎使用了以下默认格式:

代码语言:javascript
运行
复制
%d <host> <app> - - - %m

而syslog不正确地把所有东西都分割掉了。发件人不应该是日期字符串的第一部分,并且消息不应该是消息的合并的其余部分。

我找不到一种方法来更改SyAdd.1-Appender的格式字符串,因为在其中添加一个PatternLayout元素只是被忽略了。我还研究了这里提出的LoggerFields解决方案:log4j2 - Syslog appender and PatternLayout,这只会使消息元素进一步复杂化,而不会解决错误发件人的问题。

有没有人知道如何调整log4j2的SyslogAppender,以便将格式正确的消息发送给OSX10.9.2的syslog?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-19 05:23:09

我建议将此作为log4j2 Jira问题跟踪器的特性请求:http://logging.apache.org/log4j/2.x/issue-tracking.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25925199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档