我在WildFly-10 Standalone.xml中配置了一个syslog-handler,如下所示
<syslog-handler name="mysyslog">
<level name="INFO"/>
<hostname value="localhost"/>
<app-name value="myappserver"/>
<facility value="local-use-7"/>
</syslog-handler>
我在rsyslog.d中添加了规则
if $programname == 'myappserver' then /tmp/mysyslog.log
当我检查mysyslog文件时,我可以看到&lt; feff&gt;字符
这些字符在发送到rsyslog之前会被Wildfly自己附加。
你能告诉我如何从我的日志中删除这些
我引用了此链接https://en.wikipedia.org/wiki/Byte_order_mark,并指出这些是BOM字符
答案 0 :(得分:1)
这是根据添加BOM的RFC 5424规范。一个简单的解决方法是覆盖编码。遗憾的是,标准的系统日志服务器管理资源不允许设置编码。虽然有issue filed来解决这个问题。
但是,您可以使用custom-handler
覆盖此值,并使用US-ASCII
之类的编码来更改将删除BOM的编码。以下CLI命令应创建与您配置的syslog处理程序类似的syslog处理程序。
/subsystem=logging/pattern-formatter=syslog-pattern:add(pattern="(%t) %s%e")
/subsystem=logging/custom-handler=syslog:add(module=org.jboss.logmanager, class=org.jboss.logmanager.handlers.SyslogHandler, named-formatter=syslog-pattern, level=INFO, properties={hostname=localhost, appName="myappserver", facility="LOCAL_USE_7", encoding="US-ASCII", syslogType=RFC5424})