JBoss 7.1.3 log4j Socketappender没有输出classname和methodname

时间:2014-11-20 09:02:21

标签: java logging log4j jboss7.x logstash

我们正在尝试将logstash集成到我们的系统中,因此我们在JBoss 7.1.3中使用Socketappender作为自定义处理程序,如下所示:

   <custom-handler name="LOGSTASH" class="org.apache.log4j.net.SocketAppender" module="org.apache.log4j">
            <level name="DEBUG"/>
            <formatter>
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p %X{user} %X{app} [%C:%M:%L] (%t) %s%E%n"/>
            </formatter>
            <properties>
                <property name="Port" value="56445"/>
                <property name="RemoteHost" value="172.31.52.12"/>
            </properties>
        </custom-handler>

输出到达LOGSTASH-Server,但缺少一些信息。特别是classname和methodname。它们被输出到JBoss日志文件和控制台,但Socketappender只是删除它们。

json看起来像这样:

"_index": "logstash-2014.11.20",
"_type": "log4j",
"_id": "eBE6Eg1GS1--zNiaP63Bgg",
"_score": null,
"_source": {
"message": "JBAS015874: JBoss AS 7.1.3.Final \"Arges\" wurde gestartet in 39313ms - 4060 von 4230 Diensten gestartet (169 Services sind Passiv oder werden bei Bedarf geladen)",
"@version": "1",
"@timestamp": "2014-11-20T08:45:11.367Z",
"type": "log4j",
"host": "172.31.90.10:34497",
"path": "org.jboss.as",
"priority": "INFO",
"logger_name": "org.jboss.as",
"thread": "Controller Boot Thread",
"class": "?",
"file": "?:?",
"method": "?",
"NDC": "",
"stack_trace": ""

服务器上的控制台输出如下所示:

09:45:11,070 INFO    [org.jboss.as.server.BootstrapListener:done:157] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.3.Final "Arges" wurde gestartet in 39313ms - 4060 von 4230 Diensten gestartet (169 Services sind Passiv oder werden bei Bedarf geladen)

任何帮助都会受到影响。

此致 马丁

1 个答案:

答案 0 :(得分:0)

将下一个参数添加到appender:

<property name="LocationInfo" value="true"/>
  

LocationInfo 选项采用布尔值。如果是真的,那就是   发送到远程主机的信息将包括位置信息。   默认情况下,不会向服务器发送任何位置信息。

另见: