市面上常见的日志记录框架,如下:
新项目启动时,通常集成SLF4J和Log4j2,代码中使用SLF4J的日志API来记录日志,使用Log4j2来管理日志的输出、管理日志文件。
有一些项目会使用JUL或者Commons Logging,需要考虑日志记录组件之间的兼容性。
选择日志记录框架时,一般考虑:
- 日志API,比如级别、格式。
- 日志格式,比如时间、级别、进程标识、线程名称和标识、日志记录器、日志文本等。
- 日志记录器的管理,比如输出文件、输出级别等。
- 日志文件的管理,比如文件大小、文件数量、绕接、转储、压缩等。
- 日志框架的性能。
- 团队成员的技能和使用习惯。
- 项目的现状。
依据个人经验,近来接触到的项目,基本以SLF4J和Log4j2的组合居多。
Logging
- Reference
- Core Features
- Logging
Spring Boot自己的代码使用Commons Logging来记录日志。
项目自身的代码,可以使用Logback或者Log4j2。