如何设置LogBack配置

时间:2013-12-28 19:49:17

标签: java slf4j logback

我对LogBack完全不熟悉,我想用它。我注意到您可以将Configuration用作XML,但我不知道如何实现该XML并让Logback使用它而不是默认值。

我的程序包类似于me.iarekylew00t.a.b,依此类推。它也将在最后被编译成可运行的JAR。如何在没有最终用户需要的情况下添加logback.xml文件?

很抱歉,如果这是一个noob问题,但我一直试图查看这几个小时,我找不到任何明确告诉别人如何添加配置的内容 - 大多数假设你已经知道如何... 。 谢谢。 (请尽可能详细说明)

2 个答案:

答案 0 :(得分:3)

在类路径的根目录中添加logback.xml,其中包含(根据您的需要调整):

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        </encoder>
     </appender>

     <logger name="some.logger.name" level="INFO"/>

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

就是这样。

编辑:通常的目录结构:

src/main/java/
    some/package/
                 someClass.java
    some/other/package/
                 someOtherClass.java
src/main/resources/
    logback.xml

在罐子里:

some/package/
          someClass.class
some/other/package/
          someOtherClass.class
logback.xml

答案 1 :(得分:0)

我有同样的问题并通过将logback.xml复制到src / main / java来解决它 - 这是我发现使可执行JAR找到并使用它的唯一方法。

由于我不想拥有两个(可能是不同的)配置文件,我将原始的logback.xml保存在我的src / resources文件夹中(Eclipse会在开发过程中找到它并使用它)并替换src下的那个/ main / java with a symlink。适合我。