1,引入log4j所依赖的jar包,这里SSM框架的jar不在引入
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.5</version>
</dependency>
<!--解决Spring使用slf4j输出日志与log4j冲突的问题-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.13</version>
</dependency>
2,在lo4j.properties配置文件中做如下配置
###设置####
log4j.rootLogger=debug,stdout,D,E
###输出信息到控制台###
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= [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
###输出DEBUG级别以上的日志到=E://logs/error.log##
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File=E://logs/log.log
log4j.appender.D.Append=true
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
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
3.测试
package cn.tedu.rs.main.controller;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.tedu.rs.common.web.JsonResult;
import cn.tedu.rs.main.entity.Admin;
import cn.tedu.rs.main.entity.JobInfo;
import cn.tedu.rs.main.service.JobService;
/**
* 该类用于实现职位的发布创建等
* @author Albert
*
*/
@Controller
@RequestMapping("job")
public class JobController {
@Autowired
private JobService ser;
public static final Logger logger = LoggerFactory.getLogger(JobController.class);
/**
* 该方法用于实现查询所有数据
*/
@RequestMapping("/doFindJobs")
@ResponseBody
public JsonResult doFindJobs(HttpSession session,Integer pageCurrent,String selectJobType,String selectJob,String selectSalary){
Admin admin=(Admin) session.getAttribute("admin");
logger.debug("该方法用于实现查询所有数据");
Map<String,Object> list=ser.doFindJobs(admin,pageCurrent,selectJobType,selectJob,selectSalary);
return new JsonResult(list);
}
/**
* 该方法用于实现职位的发布,以及保存
* @throws IOException
*/
@RequestMapping("postedJob")
@ResponseBody
public JsonResult doPostedJob(JobInfo job,HttpSession session,HttpServletResponse res) throws IOException{
logger.debug("该方法用于实现职位的发布,以及保存");
ser.doPostedJob(job, session);
return new JsonResult();
}
}