经过下面的步骤,若打印不了日志文件我切---------------------------------------------------------手指甲!
1、首先用maven引入log4j,相关的代码如下:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.9</version> </dependency>
2、然后是配置log4j.properties,这里没有采用xml的配置格式
我放的位置为:\src\main\resources\spring\log4j.properties (注意这个路径和下面配置的web.xml息息相关)
### set log levels ### log4j.rootLogger = debug , stdout ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出到日志文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = logs/log.log log4j.appender.D.Append = true ## 输出DEBUG级别以上的日志 log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 保存异常信息到单独文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender ## 异常日志文件名 log4j.appender.D.File = logs/error.log log4j.appender.D.Append = true ## 只输出ERROR级别以上的日志!!! log4j.appender.D.Threshold = ERROR log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
3、配置web.xml,目的是引入log4j.properties文件
首先用maven引入log4j,相关的代码如下:
<!-- 配置log4j start -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>ad-web</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:spring/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 配置log4j end -->
4、我的springmvc的一个测试类,你可以写成main()函数来测试
package ad.web.action;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class LoginAction {
private static final Logger LOG = Logger.getLogger(LoginAction.class);
/**
* 1. 使用RequestMapping注解来映射请求的URL 2. 返回值会通过视图解析器解析为实际的物理视图,
* 对于InternalResourceViewResolver视图解析器,会做如下解析 通过prefix+returnVal+suffix
* 这样的方式得到实际的物理视图,然后会转发操作 "/WEB-INF/views/success.jsp"
*
* @return
*/
@RequestMapping("/Login")
public String login() {
System.out.println("qqqqq");
LOG.debug("开始");
System.out.println("hello Login");
LOG.debug("结束");
return "login";
}
}