SLF4J只是一个接口,可以实现程序的解藕。SLF4J可以与log4j、logback、jdk等日志系统结合,以及在这些日志系统之间切换。
使用maven导入各个日志系统的jar包。需要注意的是要写相应的输出格式和级别配置,比如log4j的log4j.properties,对于另外两个不写使用默认的也行。
<!-- 使用log4j作日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.11</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.4.1</version> </dependency> <!-- 使用slf4j-simple作日志 --> <!-- <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.4.1</version> </dependency> --> <!-- 使用jdk作日志 --> <!-- <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>1.4.1</version> </dependency> -->
目录结构如下:
使用SLF4j和log4j来做日志输出,注释的是单独使用log4j。关于log4j的使用和配置参考:http://www.cnblogs.com/sky230/p/5759831.html
package com.dragon.action; import org.slf4j.LoggerFactory; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { private static final long serialVersionUID = 1L; // private Logger log = Logger.getLogger(LoginAction.class); private org.slf4j.Logger logger = LoggerFactory.getLogger(LoginAction.class); public String excute(){ System.out.println("excute"); logger.info("my name is {}", logger.getName()); // log.info("I am log4j."); return "success"; } }
日志各组件的介绍参考:http://blog.csdn.net/yycdaizi/article/details/8276265