Wildfly 10 Sys-log-handler 打印与 Byte_order_mark <feff>
Posted
技术标签:
【中文标题】Wildfly 10 Sys-log-handler 打印与 Byte_order_mark <feff>【英文标题】:Wildfly 10 Sys-log-handler printing with Byte_order_mark <feff> 【发布时间】:2017-06-01 14:41:35 【问题描述】:我在 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 文件时,我可以看到
这些字符由 Wildfly 自己附加,然后再发送到 rsyslog。
你能告诉我如何从我的日志中删除这些
我参考了这个链接https://en.wikipedia.org/wiki/Byte_order_mark,它表明这些是BOM字符
【问题讨论】:
【参考方案1】:根据 RFC 5424 规范添加 BOM。一个简单的解决方法是覆盖编码。不幸的是,标准的系统日志服务器管理资源不允许设置编码。不过有一个issue filed 可以解决这个问题。
但是,您可以使用 custom-handler
覆盖它并使用像 US-ASCII
这样的编码来更改将删除 BOM 的编码。以下 CLI 命令应创建一个与您配置的类似的系统日志处理程序。
/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)
【讨论】:
以上是关于Wildfly 10 Sys-log-handler 打印与 Byte_order_mark <feff>的主要内容,如果未能解决你的问题,请参考以下文章
Wildfly 10 中的 Hibernate 4.3 支持