【发布时间】:2015-12-17 21:59:24
【问题描述】:
我需要一些帮助来解决以下问题。
我有一个spring boot 应用程序,我想使用logback 配置一个fluentd 附加程序。
我在src/main/resources 中创建了一个名为logback.xml 的文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date - %level - [%thread] - %logger - [%file:%line] - %msg%n</pattern>
</encoder>
</appender>
<appender name="FLUENT_TEXT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<tag>dab</tag>
<label>normal</label>
<remoteHost>localhost</remoteHost>
<port>24224</port>
<maxQueueSize>20</maxQueueSize>
</appender>
<logger name="org.com" level="DEBUG"/>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FLUENT_TEXT" />
</root>
</configuration>
在我的build.gradle 我有:
compile 'org.fluentd:fluent-logger:0.3.1'
compile 'com.sndyuk:logback-more-appenders:1.1.0'
当我使用 gradle bootRun 启动应用程序时,我收到以下消息:
10:56:33,020 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - Attempted to append to non started appender [STDOUT].
10:56:33,020 |-WARN in ch.qos.logback.more.appenders.DataFluentAppender[FLUENT_TEXT] - Attempted to append to non started appender [FLUENT_TEXT].
10:56:33,028 |-WARN in ch.qos.logback.core.ConsoleAppender[STDOUT] - Attempted to append to non started appender [STDOUT].
Exception in thread "main" 10:56:33,028 |-WARN in ch.qos.logback.more.appenders.DataFluentAppender[FLUENT_TEXT] - Attempted to append to non started appender [FLUENT_TEXT].
java.lang.NullPointerException
at ch.qos.logback.more.appenders.DataFluentAppender$FluentDaemonAppender.close(DataFluentAppender.java:72)
我在这里找到https://github.com/spring-projects/spring-boot/blob/master/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc 说logback.xml 加载得太早,所以我需要使用一个名为logback-spring.xml 的文件。
我已经做到了,就好像文件从未加载过,没有错误但没有任何东西到达我的 fluetd 套接字。
知道怎么解决吗?
谢谢。 C.C.
【问题讨论】:
-
嘿@CC。面临同样的问题。你能提供一个要点来说明这个问题是如何解决的吗?
标签: spring spring-boot logback fluentd