个人感觉使用slf4j的好处就可以在各个log的开源项目中实现切换
Log4j.properties
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=logs/log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %10p %c:%L - %m%n
Log4j.properties默认是放在classpath下
依赖 slf4j-api,slf4j-log4j12,log4j的相关jar
下面是junit的测试代码
package com.zgc;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Unit test for simple App.
*/
public class AppTest {
private static final Logger logger = LoggerFactory.getLogger(AppTest.class);
@Test
public void test01() {
logger.debug("sdfsdfdf {}", "222");
System.out.println("111");
}
}
项目的目录结构