springboot 配置log 详细说明下并给个例子
时间: 2023-12-19 11:04:45 浏览: 35
在Spring Boot中,可以使用Spring Boot自带的默认日志框架Logback进行日志记录。Logback是一个灵活的、可扩展的、高性能的日志框架,支持多种日志级别和日志格式,可以将日志输出到控制台、文件、数据库等目标。
在Spring Boot中,可以通过在application.properties或application.yml文件中进行配置,来自定义Logback的日志输出格式、日志级别、输出目标等。以下是一个简单的配置示例:
application.properties:
```
# 配置日志级别
logging.level.root=INFO
# 配置日志输出到控制台
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
# 配置日志输出到文件
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.file.name=mylog.log
logging.file.path=/var/log/myapp
```
application.yml:
```
# 配置日志级别
logging:
level:
root: INFO
# 配置日志输出到控制台
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
# 配置日志输出到文件
file:
name: mylog.log
path: /var/log/myapp
pattern:
file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
```
通过以上配置,我们将根日志级别设置为INFO,将日志输出到控制台和文件中,使用了相同的日志格式。其中,%d{yyyy-MM-dd HH:mm:ss.SSS}代表日期时间格式,[%thread]代表线程信息,%-5level代表日志级别,%logger{36}代表日志名称,%msg代表日志内容,%n代表换行符。
在代码中,可以通过在类中定义Logger对象来进行日志记录。例如:
```
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@RestController
public class MyController {
private Logger logger = LoggerFactory.getLogger(MyController.class);
@GetMapping("/")
public String hello() {
logger.info("hello world");
return "hello world";
}
}
```
在上面的代码中,我们通过使用slf4j提供的LoggerFactory工厂类,来获取MyController类的Logger对象。然后,在hello()方法中,我们使用logger.info()方法来记录一条INFO级别的日志。