关于log4j和slf4j的知识和如何使用这里不做介绍。
1、出现的原因:log4j,slf4j结合使用时,这里说下slf4j的一点原理:它是facade模式设计的,简单的说它只是个门面,具体做事的还是被他包装起来的(如:apache common logging,log4j,jdklogging等),所以在搭建项目是如果想使用slf4j那你必须还得选择一个干活的工具,也就是对应的配置文件,这里我选者Log4j,相应的配置文件是log4j.properties.
2、为什么出错了:我在搭建工程的时候放了log4j-1.2.16.jar、slf4j-api-1.5.11.jar、slf4j-simple-1.5.11.jar,使用的配置文件是log4j.properties,用:
PropertyConfigurator.configure("conf/log4j.properties");
加载了日志配置,在spring中打出的日志和log4j.properties指定的格式相同,但是我在自己的程序中输出日志时显示的格式和指定的不同,应为没有琢磨透,所以很晕,无解,后来单独建立个工程找出了问题所在。其实很简单:
slf4j-simple-1.5.11.jar就是Jdk Logging相关的jar,而Jdk logging系统默认有一个配置文件,在JAVA_HOME中,而JDk logging加载配置文件的时候有个优先顺序(自己去查),所以出现了日志输出不同的问题。
3、此次记录为了自己学习和遇到同样问题的朋友解决,文采一般,请见谅。