springboot用commons-logging记录日志

一、默认日志配置

默认配置下日志只会在控制台输出。
以下是一行日志记录:

2019-02-24 19:44:21.286  INFO 4956 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]

日志记录包含以下元素:

  • 日期和时间:精确到毫秒
  • 日志级别:ERROR、WARN、INFO、DEBUG、TRACE
  • 进程ID:4956
  • —:分隔符,标识日志记录的开始位置
  • 线程名:被显示在方括号里,如 [ restartedMain]
  • Logger名:通常是源类名
  • 冒号分隔符
  • 日志信息

二、修改日志配置

在application.properties中修改日志配置

1、将日志输出到文件

logging.file=app.log #日志记录在app.log中

2、修改日志级别

  • 日志级别:trace<debug<info<warn<error<fatal
logging.file.level.ROOT=WARN #日志级别设置为WARN

三、实例:用commons-logging记录日志

1、application.properties

#服务器端口
server.port=8091

#日志文件位置
logging.file=app.log 
#日志级别
logging.file.level.ROOT=WARN

2、HelloController.java

package com.gui.restful;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("hello")
public class HelloController {
    private static  final Log log= LogFactory.getLog(HelloController.class);

    @RequestMapping("test")
    public String hello() {

        log.trace("Trace Message!");
        log.debug("Debug Message!");
        log.info("Info Message!");
        log.warn("Warn Message!");
        log.error("Error Message!");
        log.fatal("Fatal Message!");

        return "hello";
    }
}

运行程序,访问 http://localhost:8091/hello/test ,会在app.log文件中生成以下内容

2019-02-24 20:46:03.799  INFO 4956 --- [http-nio-8091-exec-4] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-02-24 20:46:03.801  INFO 4956 --- [http-nio-8091-exec-4] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2019-02-24 20:46:03.806  INFO 4956 --- [http-nio-8091-exec-4] o.s.web.servlet.DispatcherServlet        : Completed initialization in 5 ms
2019-02-24 20:46:03.808  INFO 4956 --- [http-nio-8091-exec-4] com.gui.restful.HelloController          : Info Message!
2019-02-24 20:46:03.808  WARN 4956 --- [http-nio-8091-exec-4] com.gui.restful.HelloController          : Warn Message!
2019-02-24 20:46:03.808 ERROR 4956 --- [http-nio-8091-exec-4] com.gui.restful.HelloController          : Error Message!
2019-02-24 20:46:03.808 ERROR 4956 --- [http-nio-8091-exec-4] com.gui.restful.HelloController          : Fatal Message!

springboot用commons-logging记录日志