打印到控制台工作但使用logback打印到文件不起作用

时间:2015-04-07 08:54:32

标签: java eclipse tomcat logging logback

  • 将所需的jar文件导入到eclipse中的构建路径中。
  • 正确导入slf4j Logger和LoggerFactory包名称
  • 从中创建了一个记录器实例 LoggerFactory.getLogger("classname");

以下是logback.xml文件:

尝试使用log4,logback访问而不是logback classic,但我无法将其打印到文件中。我试图在一周内解决这个问题而没有运气

<configuration>
  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <!-- Tests run on modern PCs show that buffering related property -->
    <!-- "ImmediateFlush" has negligible impact and will be ignored.  -->
    <Append>true</Append>
    <File>log.txt</File>
    <encoder>
      <pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %c %p %t %m%n%n</pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>debug</level>
    </filter>
  </appender>
  <appender name="theConsoleAppender" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%-4r [%t] %-5p %c %x - %m%n</pattern>
    </encoder>
  </appender>
  <logger name="com.wataniya.Wataniya_WebServiceSkeleton" level="DEBUG">
    <appender-ref ref="FILE"/>
  </logger>
  <root level="DEBUG">
    <appender-ref ref="FILE"/>
    <appender-ref ref="theConsoleAppender"/>
  </root>
</configuration>

1 个答案:

答案 0 :(得分:0)

您确定logback.xml文件位于正确的位置并且正在被检测到吗? 尝试故意在配置文件中输入错误,并查看是否在控制台中收到消息(Logback将自动执行此操作)。

如果不是,您可以看到Logback configuration如何传递或运行您的应用程序,如下所示。

java -Dlogback.configurationFile=/path/to/logback.xml YourMainClass
  

让我们首先讨论尝试配置自身后面的logback的初始化步骤:

     
      
  1. Logback尝试在classpath中找到名为 logback.groovy 的文件。
  2.   
  3. 如果未找到此类文件,则logback会尝试在classpath中找到名为 logback-test.xml 的文件。
  4.   
  5. 如果找不到此类文件,则会检查classpath中的文件 logback.xml
  6.