1、如何在Spring Boot中输出日志
@SpringBootApplication
public class SpringdemoApplication {
Logger logger = LoggerFactory.getLogger(getClass());
public static void main(String[] args) {
logger.trace("这是trace日志...");
logger.debug("这是debug日志...");
logger.info("这是info日志...");
logger.warn("这是warn日志...");
logger.error("这是error日志...");
SpringApplication.run(SpringdemoApplication.class, args);
}
}
2、在配置文件中控制日志的输出
- 将com/java包下的日志级别设为trace
logging.level.com.java=trace
- 如果两个都不指定,就将日志打到控制台。如果只指定logging.path,就在当前磁盘下路径下创建目录,然后将spring.log日志输出到该目录;如果只指定logging.file,就将日志输出到当前项目的指定文件中,指定文件名的同时,也可以指定路径。
logging.path = /spring/log
logging.file = [D:/]spring.log
- 日志输出格式
%d
表示日期
%thread
表示线程名
%-5level
表示级别从左显示5个字符宽度
%logger{50}
表示logger名字最长50个字符,否则按照句点分割
%msg
表示日志消息
%n
表示换行
- 指定日志在控制台的输出格式
logging.pattern.console = %d{yyyy-MM-dd} {%thread} %-5level %logger{50} - %msg%n
- 指定日志在日志文件中的输出格式
logging.pattern.file = %d{yyyy-MM-dd} === {%thread} === %-5level %logger{50} - %msg%n
3、Spring Boot日志文件
Spring Boot本身已经有默认配置好的日志文件,如果该文件不满足需求时,我们可以在类路径下创建对应日志框架的配置文件即可,这样Sping Boot就不会使用自带的日志配置了。
logback.xml
:直接被日志框架识别了
logback-spring.xml
:日志框架不直接加载日志的配置项,由Spring Boot解析日志配置,从而可以使用profile功能来控制不同环境下的日志输出