我正在尝试使用jcabi日志进行日志记录,如http://www.yegor256.com/2014/05/23/avoid-java-static-logger.html中的链接所述。
我有一个方法runThisAdvise(),它是从主方法调用的。Logger.info“我在这里”中的文本没有打印在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发布于 2015-04-01 20:27:46
对于任何有类似问题的人,请检查您的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");
}
}https://stackoverflow.com/questions/28181730
复制相似问题