【问题标题】:logback not logging to filelogback 不记录到文件
【发布时间】:2014-04-04 13:24:46
【问题描述】:

试图让 logback 记录到 .log 文件,但它只输出到控制台... 有任何想法吗?

这里是 logback-test.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">


    <appender 
        name="STDOUT" 
        class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
    </appender>

    <appender 
        name="FILE" 
        class="ch.qos.logback.core.FileAppender">
        <file>C:/Users/aahmad/Desktop/logbackTestFiel.log</file>
        <append>false</append>
        <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%-4r %-5level %logger{35}: %msg%n</pattern>
        </encoder>
    </appender>

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

</configuration>

这是代码

package log.back.test;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.core.util.StatusPrinter;

public class HelloWorld2 {

  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld2");
    logger.debug("Hello world.");
    logger.info("Hello file");
    logger.error("Hello 2 world.");
    // print internal state
//    LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
//    StatusPrinter.print(lc);
  }
}

感谢您的帮助...另外,有人知道org.apache.log4j.helpers.OnlyOnceErrorHandler 的 logback 等价物是什么吗?我实际上是在进行迁移,log4j 声明了这一点

<errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler" />

但我知道这是什么 logback 版本

【问题讨论】:

    标签: java logging log4j logback


    【解决方案1】:

    好的,想通了,需要在appender中添加一个额外的标签

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <FileNamePattern>logFile.%d{yyyy-MM-dd}.log</FileNamePattern>
            </rollingPolicy>
    

    这解决了我的问题,但仍然不确定errorHandler

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-24
      • 1970-01-01
      • 2018-03-13
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      相关资源
      最近更新 更多