个人做电子商务网站备案,龙江建站技术,平湖市规划建设局网站,上饶专业做网站建设一、概述
日志是程序的重要组成部分#xff0c;程序报错了#xff0c;我们可以通过查看日志信息排除和定位问题。
二、日志格式
在启动 SpringBoot 项目时#xff0c;控制台中默认会打印一些日志#xff0c;下面我们截取一段日志信息#xff0c;分析一下日志的格式程序报错了我们可以通过查看日志信息排除和定位问题。
二、日志格式
在启动 SpringBoot 项目时控制台中默认会打印一些日志下面我们截取一段日志信息分析一下日志的格式 为什么 SpringBoot 可以设置并打印日志 因为其内部内置了两个日志框架 SLF4J让开发者使用和调用的框架 和 logback最底层实现日志相关操作的框架 三、日志级别
日志的级别分为 trace微量少许的意思级别最低debug需要调试时候的关键信息打印info普通的打印信息默认日志级别warn警告不影响使用但需要注意的问题error错误信息级别较高的错误日志信息fatal致命的因为代码异常导致程序退出执行的事件。只有系统能输出 1、日志级别的作用
日志级别可以帮我们筛选出重要的信息将业务不需要的日志屏蔽掉。例如日志级别设置为 error 时那么就可以只看程序的报错日志了对于普通的调试日志和业务日志就可以忽略了。
2、如何设置日志级别
只需要在配置文件进行简单配置即可。
例如设置根路径的日志级别为 error
# 在 properties 文件中设置日志级别为 error
logging.level.rooterror给 com.example.demo.model 目录下的类设置日志级别
# 在 properties 文件中设置日志级别为 error
logging.level.com.example.demo.modelerror四、自定义日志打印
自定义日志打印主要分为两步 在程序中得到日志对象。使用日志对象提供的打印方法输出要打印的内容。 方式一 Logger 对象是属于 org.slf4j 包下的我们使用日志工厂 LoggerFactory 来获取到日志对象
private static Logger logger LoggerFactory.getLogger(类对象);注 这里 LoggerFactory.getLogger() 方法中的参数是用来指定日志记录器Logger的名称的。通常情况下建议使用当前类的 Class 对象作为参数以便在日志输出时能够正确标识出日志信息所属的类。
Controller
ResponseBody
public class LogController {private static Logger logger LoggerFactory.getLogger(LogController.class);RequestMapping(/log)public void log() {logger.trace(trace 级别的日志信息);logger.debug(debug 级别的日志信息);logger.info(info 级别的日志信息);logger.warn(warn 级别的日志信息);logger.error(error 级别的日志信息);}
}方式二 使用 lombok
Controller
ResponseBody
Slf4j
public class LogController {RequestMapping(/log)public void log() {log.trace(trace 级别的日志信息);log.debug(debug 级别的日志信息);log.info(info 级别的日志信息);log.warn(warn 级别的日志信息);log.error(error 级别的日志信息);}
}注 使用 Slf4j 注解会在当前类下添加一个名为 log 的日志对象。 注 因为默认日志级别为 info 因此仅输出级别大于等于 info 级别的日志。
五、日志持久化
以上的日志都是输出在控制台上的然而在生产环境上咱们需要将日志保存下来以便出现问题后进行追随。要将日志进行持久化只需要在配置文件中指定日志的存储目录Spring Boot 就会将控制台的日志写到相应的目录下。
例如设置日志的存储的相对目录为 log
# 设置日志的存储的相对目录为 ./log
logging.file.path./log