2017-06-01 19 views
0

我在WildFly-10 Standalone.xml配置系統日誌處理程序如下Wildfly 10的Sys-登錄處理程序與Byte_order_mark打印<feff>

<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文件我可以看到< FEFF>字符

這些字符由Wildfly本身附加寄往rsyslog現在前。

能否請你讓我知道如何從我的日誌

我提到這個鏈接https://en.wikipedia.org/wiki/Byte_order_mark擺脫這些,並指出,這些都是BOM字符

回答

1

這是每RFC 5424規範的BOM是添加。一個簡單的解決方法是重寫編碼。不幸的是,標準的syslog服務器管理資源不允許設置編碼。有一個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})