以前一直是人家搭好框架,配置好东西,我直接写代码,这几天想自己弄个log4j,竟然一直报错,菜鸡啊。。。。于是,整了一天,还算有成果的成功了。
首先,使用log4j,最基本的3个jar文件:
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.21.jar
log4j-1.2.17.jar
这是实现日志记录最基本的,不然,各种报错,这个类没有加载到,那个类没有找到。。。。
完成这些,第一步就ok了。
接着:加入配置文件,我是在Javase中写的例子,所以,log4j.properties文件放到/src下直接运行,ok完成。当然,配置文件中的东西不能错。我想这log4j.properties文件是在jar代码中直接写死的,所以,这里的名称和文件路劲不能错。
但是,用log4j.properties的配置可读性差,所以,就想着用xml配置。那么,这里就需要先读取路劲,然后读取配置文件。
路径笨的办法,可以直接写死:
DOMConfigurator.configure("D:/workspace2014/javaseTest/log4j2.xml");
但这样写的话,用在webapp项目中一定会错,因为你不知道这个配置文件会放到哪里,万一在linux系统中不就操蛋了吗。。。
所以,直接用getResource()方法。
final URL url=athMethod.class.getResource("log4j2.xml");
DOMConfigurator.configure(url);
Logger logger=LoggerFactory.getLogger(athMethod.class);
logger.info("测试成功");
这样写的话,log4j2.xml放到哪里呢,这样,getResource()是从.calss路径开始找的。
还有一个getResourceAsStream(),这个是在getResource()的基础上new InputStream(“file“)。