jcabi无法将日志记录到文件中。

4
我正在尝试使用jcabi-log进行日志记录,如链接中所述:http://www.yegor256.com/2014/05/23/avoid-java-static-logger.html
我有一个名为runThisAdvise()的方法,它从主方法中调用。在Logger.info中的文本"I am here"没有打印到log1.out文件中。请有人帮忙解决这个问题吗?
import com.jcabi.log.Logger;

public class StaticLogger {
    private int c;
    private int a=5;
    private int b=2;

    public int runThisAdvise() {
        c=a+b;
        Logger.info(this,"I am here");
        System.out.println("blah" +c);
        return c;
     }
}

log4j.properties文件

log4j.rootLogger = DEBUG, FILE,CONSOLE
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=D:\\log1.out
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern= %r [%t] %-5p %c %x - %m%n
1个回答

2

如果有类似的问题,请检查您的log4j配置和属性文件。下面是确保您已正确配置jcabi-log4j-slf4j的步骤。

1)将以下依赖项添加到Maven:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.7</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.12</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
    <groupId>com.jcabi</groupId>
    <artifactId>jcabi-log</artifactId>
    <version>0.16</version>
    </dependency>

2) 确保log4j.properties文件位于正确的位置,即src/main/resources。

3) 在完成以上两个步骤后,以下代码应该可以正常工作:

package test.jcabi.jcabiProject;

import com.jcabi.log.Logger;

public class JcabiLogger {
    public static void main (String args[]) {
        Logger.info(jcabiLogger.class,"This is jcabi test");
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接