我们正在尝试将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)
任何帮助都会受到影响。
此致 马丁
答案 0 :(得分:0)
将下一个参数添加到appender:
<property name="LocationInfo" value="true"/>
LocationInfo 选项采用布尔值。如果是真的,那就是 发送到远程主机的信息将包括位置信息。 默认情况下,不会向服务器发送任何位置信息。
另见: