日志
日志是程序的重要组成部分,日志可以:
a.记录错误日志和警告日志(发现和定位问题)
b.记录用户登录日志,方便分析用户是正常登录还是恶意破解用户
c.记录系统的操作日志,方便数据恢复和定位操作人
d.记录程序的执行时间,方便为以后优化程序提供数据支持
日志使用
SpringBoot 内置了日志框架 SLF4(门面模式), 和 logback
自定义打印日志
1.得到日志对象
2.使用日志对象提供的方法打印日志
@RestController // = @Controller + @ResponseBody
public class StudentController {
// 1.得到日志对象
private static final Logger logger = LoggerFactory.getLogger(StudentController.class);//日志工厂
@RequestMapping("/stu/sayHi")
public void sayHi(){
// 2.使用日志对象提供的方法打印日志
logger.trace("这是 trace");
logger.debug("这是 debug");
logger.info("这是 info");
logger.warn("这是 warn");
logger.error("这是 error");
}
}
使用@Slf4j注解来自定义日志
@Slf4j
@RestController
public class LogController {
// 1.得到日志对象
@RequestMapping("log")
public void sayHi(){
log.error("使用注解自定义日志 error");
}
}
注意该注解使用时需要添加lombok依赖
日志级别
trace(痕迹) < debug(调式时的关键打印信息) < info(普通的打印信息) < warn(警告) < error(错误) < fital(致命错误,因为代码异常导致程序退出执行,不可以自定义操作使用)
控制台默认只能看到 info 级别及往上的错误
日志级别设置
# 日志级别设置
logging:
level:
root: info #root 为系统路径,表示系统打印的日志在info级以上都能被看见
com:
example:
demo:
controller: trace #该路径地下的日志级别 trace及以上都能看见
以上配置设置,就可以实现让系统的日志info级别以上可以被看见,在controller这个包 地下的日志 trace级别以上就可以被看见
日志持久化:将日志保存下来
1.设置日志的保存路径
#日志保存路径
logging:
file:
path: E://springbootLogging//
这样就可以把打印日志保存到 E://springbootLogging这个文件夹底下了,此时springbootLogging这个路径下会有一个srping.log的文件.该文件保存的方式是追加的方式
2.设置日志保存名称
#日志保存路径
logging:
file:
name: springboot.log
3.路径+名称
#日志保存路径
logging:
file:
name: E://springbootLogging//springboot.log
此时就可以在指定路径下,生成一个springboot.log的日志文件了
此时会在该项目同一目录底下生成一个 springboot.log的日志文件
默认日志文件大小,最大是10MB.如果日志文件大于10MB,会新创建一个日志文件,存放接下来的日志信息,这个大小我们也可以在配置文件中设置