java - JBoss AS 7 : Logging to remote host (logstash)

标签 java logging jboss jboss7.x logstash

虽然配置 log4j 将日志发送到远程主机 ( log4j: How to use SocketAppender? ) 似乎很容易,但我找不到任何方法可以在 JBoss' (7.1.1)standalone.xml 中执行相同操作。

我找到了一种方法来替换 JBOss 配置以严格使用自己的 log4j ( JBoss AS 7: Logging ),但这样日志级别的远程切换将会丢失 - 对于实时系统来说,这是没有选择的。

最佳答案

或者,您可以使用logstash-gelf 将日志消息发送到logstash(使用GELF)。当涉及自定义字段/MDC 数据时,您会更加灵活。您需要一个附加模块才能使其工作:http://search.maven.org/#artifactdetails%7Cbiz.paluch.logging%7Clogstash-gelf%7C1.3.2%7Cjar

        <custom-handler name="GelfLogger" class="biz.paluch.logging.gelf.jboss7.JBoss7GelfLogHandler" module="biz.paluch.logging">
            <level name="INFO"/>
            <properties>
                <property name="graylogHost" value="somehost"/>
                <property name="extractStackTrace" value="true"/>
                <property name="filterStackTrace" value="true"/>
                <property name="mdcProfiling" value="true"/>
                <property name="facility" value="JBoss Core"/>
                <property name="additionalFields" value="Environment=AT"/>
                <property name="mdcFields" value="Application,App.Version,remoteAddr,remoteUser,sessionId,requestUri,requestMethod,requestParams,Tracking.RootUser,Tracking.RootSessionId,Tracking.RootRequestId,WS.last.Request,WS.last.Response,WS.last.Endpoint"/>
            </properties>
        </custom-handler>

关于java - JBoss AS 7 : Logging to remote host (logstash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21238466/

相关文章:

java - fragment 问题中的 NullPointerException

java - 用于调试 GAE 应用程序的日志

c# - 记录应用程序 block 不记录到文件

logging - 如何在 Docker 容器内为 iptables 启用日志记录?

java - 捕获 Wildfly 关闭钩子(Hook)

java - Wildfly TimerService 不满足依赖关系

java - 在 Java 中的默认表模型中添加行

java - 在同一行打印输出

java - maven-surefire-plugin 虚拟 :dummy. jar :1. 0 丢失

java - 如何从 JPA 唯一约束违规中获取值?