如何在播放2.2.3时使用GELF appender?

时间:2015-06-16 06:12:16

标签: java playframework-2.0 logback

我有一个play-2.2.3应用程序。我想使用GELF-TCP将日志发送到graylog2服务器。我曾尝试使用me.moocar GELF logback appender,但似乎存在问题,因为它是使用其他版本的logback核心jar编译的。

我是否可以配置logback以将日志(通过TCP或UDP)发送到其他地方托管的graylog2实例?

1 个答案:

答案 0 :(得分:2)

您可以尝试logstash-gelf。它支持TCP和UDP通道(UDP是非阻塞的)。 logstash-gelf是针对logback-classic版本1.0.13编译的。

示例配置:

<!DOCTYPE configuration>

<configuration>
    <contextName>test</contextName>
    <jmxConfigurator/>

    <appender name="gelf" class="biz.paluch.logging.gelf.logback.GelfLogbackAppender">
        <host>udp:localhost</host>
        <port>12201</port>
        <version>1.1</version>
        <facility>java-test</facility>
        <extractStackTrace>true</extractStackTrace>
        <filterStackTrace>true</filterStackTrace>
        <mdcProfiling>true</mdcProfiling>
        <timestampPattern>yyyy-MM-dd HH:mm:ss,SSSS</timestampPattern>
        <maximumMessageSize>8192</maximumMessageSize>

        <!-- This are static fields -->
        <additionalFields>fieldName1=fieldValue1,fieldName2=fieldValue2</additionalFields>

        <!-- This are fields using MDC -->
        <mdcFields>mdcField1,mdcField2</mdcFields>
        <dynamicMdcFields>mdc.*,(mdc|MDC)fields</dynamicMdcFields>
        <includeFullMdc>true</includeFullMdc>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="gelf" />
    </root>
</configuration>