maven整合slf4j
1、首先导入依赖
<!--slf4j begin--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <!--slf4j end-->
2、配置log4j的配置文件,路径:resources/log4j.properties
1 #父级日志,这里仅配置输出到控制台,所有子级日志会归并到父级日志中输出 2 log4j.rootLogger = INFO,console 3 #输出到控制台 4 log4j.appender.console=org.apache.log4j.ConsoleAppender 5 #日志风格规则 6 log4j.appender.console.layout=org.apache.log4j.PatternLayout 7 #自定义日志格式 8 log4j.appender.console.layout.ConversionPattern=%5p:%d-%m%n 9 10 #子级日志:user,只记录info级别以上的日志,下面配置输入日志到文件 11 log4j.logger.user=INFO,user 12 #设置每天产生新的日志 13 log4j.appender.user=org.apache.log4j.DailyRollingFileAppender 14 #设定每个多长时间产生一个新的日志文件,精确到分钟则每分钟产生一个日志文件,并按照该时间格式添加到文件名后缀 15 log4j.appender.user.DatePattern='_'yyyy-MM-dd-HH-mm'.log' 16 #日志存放的路径,相对路径默认从main开始,一般用直接路径 17 log4j.appender.user.File=user.log 18 #日志风格规则 19 log4j.appender.user.layout=org.apache.log4j.PatternLayout 20 #自定义日志格式 21 log4j.appender.user.layout.ConversionPattern=%5p:%d-%m%n 22 #日志编码 23 log4j.appender.user.Encoding=UTF-8 24 #该子日志是否归并到父级,如果归并,则该日志会输出一份到父级日志输出的地方 25 #log4j.additivity.user=false 26 27 #子级日志:login 只记录info级别以上的日志,下面配置输入日志到文件 28 log4j.logger.login=INFO,login 29 #设置每天产生新的日志 30 log4j.appender.login=org.apache.log4j.DailyRollingFileAppender 31 #设定每个多长时间产生一个新的日志文件,精确到分钟则每分钟产生一个日志文件,并按照该时间格式添加到文件名后缀 32 log4j.appender.login.DatePattern='_'yyyy-MM-dd-HH-mm'.log' 33 #日志存放的路径,相对路径默认从main开始,一般用直接路径 34 log4j.appender.login.File=login.log 35 #日志风格规则 36 log4j.appender.login.layout=org.apache.log4j.PatternLayout 37 #自定义日志格式 38 log4j.appender.login.layout.ConversionPattern=%5p:%d-%m%n 39 #日志编码 40 log4j.appender.login.Encoding=UTF-8 41 #该子日志是否归并到父级,如果归并,则该日志会输出一份到父级日志输出的地方 42 #log4j.additivity.user=false 43 44 #输出到日志文件,当文件大小达到时新建新的日志文件 45 #log4j.appender.File=org.apache.log4j.RollingFileAppender 46 #文件路径 47 #log4j.appender.File.File=${project}/WEB-INF/logs/app.log 48 #旧文件后缀 49 #log4j.appender.File.DatePattern=_yyyyMMdd'.log' 50 #文件的最大值 51 #log4j.appender.File.MaxFileSize=10MB 52 #设定打印的日志级别 53 #log4j.appender.File.Threshold=ALL 54 #log4j.appender.File.layout=org.apache.log4j.PatternLayout 55 #log4j.appender.File.layout.ConversionPattern=[%p][%d][%c]%m%n
3、在java代码内获取子级的logger对象,打印日志
package cn.jiaming.chen.controller;
import cn.jiaming.chen.requestPojo.LoginControllerRequest;
import cn.jiaming.chen.responsePojo.LoginControllerResponse;
import cn.jiaming.chen.service.LoginService;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("login/")
public class LoginController {
@Autowired
private LoginService loginService;
private static final Logger logger = LoggerFactory.getLogger("login"); //该处填入配置文件中配置的子级日志名称
@ResponseBody
@RequestMapping("login")
public LoginControllerResponse login(@RequestBody LoginControllerRequest request){
logger.info("type=login`userId={}",request.getId());
LoginControllerResponse response = null;
try{
response = loginService.login(request);
logger.info("type=login`userId={}`result=true",request.getId());
}catch (Exception e){
response = new LoginControllerResponse(-1,e.getMessage());
logger.error("type=login`userId={}`result={}",request.getId(),e.getMessage());
}
return response;
}
}
4、启动测试
posted on 2018-06-05 15:56 javaGreenHand。。。 阅读(81) 评论(0) 收藏 举报
浙公网安备 33010602011771号