SpringBoot对所有内部日志使用通用日志记录,日志记录器都预先配置为使用控制台输出,同时还提供可选的文件输出。默认情况下,SpringBoot使用Logback进行日志记录。
SpringBoot中默认使用Logback进行日志输出,SpringBoot框架的配置文件application.yml进行持久化到文件等配置。
使用 @Slf4j 注解完成日志记录
一. 导入Pom文件 该注解是 lombok 插件中的
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
二. 在类上使用 @Slf4j 注解,使用 log.info 方法
@Service
@Slf4j
public class FindUserByIdServiceImp implements FindUserByIdService {
@Autowired
private FindUserbyIdMapper findUserbyIdMapper;
@Override
public UserVO findUserById(Integer userid) {
UserVO userVO = findUserbyIdMapper.findUserById(userid);
log.info("查找成功:"+userVO); //使用 log.info 方法
return userVO;
}
}
三. 日志记录成功
为什么要日志持久化?
实际开发中,我们需要将日志持久化,放入文件中,以便于出错后能根据文档排查,或者在关键代码段打上日志便于分析代码运行情况
在 application.properties或application.yml 配置文件中进行配置
logging.file.name=logs/info.log //配置日志输出文件地址
logging.file.name=D:/logs/info.log 日志输出到绝对路径D:/logs/info.log下 logging.file.name=info.log 日志输出到相对路径 info.log 下 logging.file.name=logs/info.log 日志输出到相对路径 logs/info.log 下
输出日志到文档
日志等级
日志等级有(从高到低):fatal、error、warn、info、debug、trace、off
默认的日志配置在消息写入时将消息回显到控制台。默认情况下,将记录错误级别,警告级别和信息级别的消息。
fatal(致命) error(错误) warn(警告) info (信息) debug(调试) trace(跟踪) off(关闭)
logging.config 是用来指定项目启动的时候,读取哪个配置文件,这里指定的是日志配置文件,即子module项目根路径下的 logback.xml文件,该文件是日志的主要配置信息。用来配置指定包的路径下应用程序的日志记录,及其日志级别。
logging.level用来指定具体的包中应用程序日志的输出级别。上面的配置表示com.hl.magic包下的所有日志输出级别为 trace,会将操作数据库的 sql 打印出来,开发时设置成 trace 方便定位问题,在生产环境上,将这个日志级别再设置成 error 级别即可。
logging.level.web=trace //追踪web
logging.level.sql=trace //追踪sql
logging.level.root=trace //追踪所有