您现在的位置是:首页 >技术教程 >Spring 日志文件网站首页技术教程

Spring 日志文件

白杨783 2024-07-01 12:01:01
简介Spring 日志文件

日志

日志是程序的重要组成部分,日志可以:
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,会新创建一个日志文件,存放接下来的日志信息,这个大小我们也可以在配置文件中设置

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。