本人也是查看别人博客获得的方法, 详细讲解请参照
https://www.cnblogs.com/yuxiaole/p/9297266.html
下面进入正题:
1. 在 pom.xml 中注入相关的依赖
- <!-- slf4j + log4j 日志 -->
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.7.25</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-API</artifactId>
- <version>1.7.25</version>
- </dependency>
注意不要忘了引 slf4j 的 API
2. 加入 log4j 的配置文件
在 src/main/resources 目录下新建 log4j.properties 配置文件
文件内容:
- # 配置根 Logger
- log4j.rootLogger=info, ServerDailyRollingFile, stdout
- # 有关日志输出位置的配置命名
- # ServerDailyRollingFile 代表每天产生一个日志文件
- log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
- # 设置时间格式
- log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
- # 日志文件生成路径
- log4j.appender.ServerDailyRollingFile.File=logs/notify-subscription.log
- # 日志格式
- # PatternLayout 可以灵活指定布局模式
- log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
- log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
- # 将消息增加到指定文件中, false 指消息将覆盖指定文件的内容
- log4j.appender.ServerDailyRollingFile.Append=true
- # 配置输出到控制台
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.ConversionPattern=%d{
- yyyy-MM-dd HH\:mm\:ss
- } %p [%c] %m%n
3. 使用日志工厂实例化一个日志对象, 通过调用日至对象的相关方法打印日志
- private static final Logger log = LoggerFactory.getLogger(StudentController.class);
- // 处理 JSP 视图查询处理
- @RequestMapping(value = "/read", method = RequestMethod.GET)
- public String readStudentByView(
- @RequestParam("studentId") String studentId,
- Model model) {
- // 将要查询的学生 id 写入日志
- log.info("reading handler: studentId =" + studentId);
- model.addAttribute(studentService.readById(studentId));
- return "student";
- }
启动服务后, 向服务器发送 GET 请求后控制台结果:
来源: http://www.bubuko.com/infodetail-2931766.html