SSH框架整合 日志处理Spring结合 log4j、slf4j
1. 加入log4j和slf4j的jar包
2. web.xml:
1 <context-param> 2 <!--log4j配置地址 --> 3 <param-name>log4jConfigLocation</param-name> 4 <!-- <param-value>/WEB-INF/classes/log4j.properties</param-value> --> 5 <param-value>classpath:log4j.properties</param-value> 6 </context-param> 7 <context-param> 8 <!-- log4j 配置扫描刷新间隔 可以不用 --> 9 <param-name>log4jRefreshInterval</param-name> 10 <param-value>10000</param-value> 11 </context-param> 12 <!-- spring里的log4j配置监听器 --> 13 <listener> 14 <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 15 </listener>
3. src/log4j.properties:
1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory; 3 4 import com.stone.action.DefaultAction; 5 6 public class LogUtil { 7 //使用slf4j创建日志对象,好处时,以后更换为其它日志工具时,只要修改配置文件,不用修改代码 8 private static Logger logger = LoggerFactory.getLogger(LogUtil.class); 9 //使用log4j创建日志对象 10 // private org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(getClass()); 11 12 public static void error(String message) { 13 logger.error(message); 14 } 15 public static void debug(String message) { 16 logger.debug(message); 17 } 18 public static void info(String message) { 19 logger.info(message); 20 // org.apache.log4j.Logger.getLogger(LogUtil.class).info(message); 21 } 22 }
配置info级输出到控制台,debug和error 都输出到对应文件中。
4. 使用log对象
1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory; 3 4 import com.stone.action.DefaultAction; 5 6 public class LogUtil { 7 //使用slf4j创建日志对象,好处时,以后更换为其它日志工具时,只要修改配置文件,不用修改代码 8 private static Logger logger = LoggerFactory.getLogger(LogUtil.class); 9 //使用log4j创建日志对象 10 // private org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(getClass()); 11 12 public static void error(String message) { 13 logger.error(message); 14 } 15 public static void debug(String message) { 16 logger.debug(message); 17 } 18 public static void info(String message) { 19 logger.info(message); 20 // org.apache.log4j.Logger.getLogger(LogUtil.class).info(message); 21 } 22 }