简介
slf4j 相当于抽象类
log4j 相当于实现,当然还有其他的实现,如logback,jdk自带的logging等
具体配置maven 配置 pom.xml加入
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.6</version> </dependency>
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency> log4j.xml配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration> <!--若干个appender的定义--> <!--org.apache.log4j.ConsoleAppender 输出到控制台--> <appender name="myConsole" class="org.apache.log4j.ConsoleAppender"> <!--输出格式--> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n"/> </layout> </appender> <!--org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件--> <appender name="myFile" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="output.log"/><!--文件位置--> <param name="Append" value="true"/><!--是否选择追加--> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n"/> </layout> </appender> <!--org.apache.log4j.RollingFileAppender 滚动日志文件输出 文件大小到达一定尺寸时重新产生新的文件--> <!--<appender name="myFile" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="D:/output.log" /> <param name="Append" value="true" /> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /> </layout> </appender>--> <!--将各个包中的类日志输出到不同的日志文件中 这样可以便于日志的分类。 可以通过这个设置,把业务逻辑的日志添加到数据库。起到过滤的作用 --> <!--这段配置的就是说把包名为“com.zjut.a1”且优先级为debug的日志通过myFile这个appender来处理。 --> <category name="com.xxx"> <priority value="info"/> <appender-ref ref="myConsole"/> </category> <!-- 根logger的设置--> <root> <!--优先级设置,假设设置为“info”,则无法输出debug级别的日志--> <priority value="info"/> <!--<priority value="info"/>--> <!--<priority value="warn"/>--> <!--<priority value="error"/>--> <!--<priority value="fatal"/>--> <!--添加刚才设置的appender--> <appender-ref ref="myConsole"/> <appender-ref ref="myFile"/> </root></log4j:configuration>
web.xml加入
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j.xml</param-value></context-param><listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class></listener>
测试代码:
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.HashMap;import java.util.List;import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView; @Controller@RequestMapping("test")public class TestController { // // 类名.class private final static Logger logger = LoggerFactory.getLogger(TestController.class); @Resource(name = "testServiceImpl") private TestService testservice; @RequestMapping("/view.do") public ModelAndView getAllTest() { List<Test> list = testservice.getAllTest(); Map map = new HashMap(); map.put("testlist", list); logger.info("******get list from get ALLTest-----------------------------------"); return new ModelAndView("index", map); } }
最后一步,copy maven jar到工程lib里面
时间: 2024-10-05 23:00:29