log4j已经出log4j-2.x了,据说对并发日志提供支持,作为迈入2.x的准备,再次回顾下log4j-1.x的基础部分吧
环境:eclipse-neon,jdk8,log4j-1.2.17.jar(最后一个1.x版本了)
1 最懒惰的搭建
新建普通项目T,新建个文件夹,放入log4j-1.2.17.jar包,右击->build path->add to build path
新建java类A,内容如下:
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
public class A {
private static Logger logger = Logger.getLogger(A.class);
// Define a static logger variable so that it references the
// Logger instance named "MyApp".
public static void main(String[] args) {
// Set up a simple configuration that logs on the console.
BasicConfigurator.configure();//这句话是引用默认的配置,无需log4j配置文件
logger.debug("Exiting application.");
logger.info("Entering application.");
logger.warn("Exiting application.");
logger.error("Exiting application.");
}
}
运行后,控制台输出如下:
0 [main] DEBUG A - Exiting application.
0 [main] INFO A - Entering application.
0 [main] WARN A - Exiting application.
1 [main] ERROR A - Exiting application.
ok
2 采用配置文件,灵活配置日志输出(是在不好意思写了,太基础了,直接贴图了)
3 灵活指定log4j配置文件位置
改变配置文件位置,使用:PropertyConfigurator.configure("src/config/log4j.properties");
这里需要注意下,log4j默认是从根目录去寻找的(不是classpath),当然你也可以直接用绝对路径,贴个源码就明白了:
可以看出,直接将fileName当成路径去new FileInputStream(fileName);
如同我们 new File("a.txt").createNewFile();文件被直接创建在项目根目录下一样,下面我贴个例子