SpringBoot日志文件

目录

自定义日志打印

 日志级别

日志级别配置

日志持久化 

Lombok

Lombok原理


日志文件可以帮助我们查看程序的错误原因,帮助我们快速定位到问题

除了可以发现和定位问题之外,我们还可以通过日志实现以下功能:

1、记录用户登录日志,方便分析用户是正常登陆还是恶意破解用户

2、记录系统的操作日志,方便数据恢复和定位操作人

3、记录程序的执行时间,方便为以后优化程序提供数据支持

SpringBoot内置了日志框架,我们可以自定义打印日志

自定义日志打印

SpringBoot内置了日志框架slf4j,我们可以直接利用这个框架

1、获取日志对象,这就要使用到日志工厂LoggerFactory,这个类是属于slf4j包的

2、使用日志对象提供的方法打印日志

@Controller
public class User {
    //1、得到日志对象
    private static Logger logger = LoggerFactory.getLogger(User.class);
    //2、利用日志对象提供的方法
    @PostConstruct
    public void print() {
        logger.info("hello");
    }
}

 格式说明:

 日志级别

日志级别是为了筛选符合目标的日志信息的,将日志设置多个级别,可以选择某一个级别的日志信息来查看

日志级别的分类:

  1. trace:微量少许,级别最低
  2. debug:需要调试的关键信息
  3. info:普通的打印信息
  4. warn:警告,不影响使用,但是要注意的信息
  5. error:错误信息
  6. fatal:致命的,因为代码异常导致程序退出执行的事件(不需要自定义,程序会自己显示)

日志级别配置

默认日志级别是info

@Controller
public class User {
    //1、得到日志对象
    private static Logger logger = LoggerFactory.getLogger(User.class);

    //2、利用日志对象提供的方法
    @PostConstruct
    public void print() {
        logger.trace("trace");
        logger.debug("debug");
        logger.info("info");
        logger.warn("warn");
        logger.error("error");
    }
}

使用logging.level配置日志级别

1、配置全局的日志级别:

logging.level.root=debug

设置全局的日志级别为debug

2、设置局部文件夹的日志级别

logging.level.文件夹

logging.level.com.example.demo=warn

日志持久化 

我们将日志以文件的形式记录在磁盘上,就可以随时查看了

配置存储文件路径:

logging:
  file:
    path: C:\Users\30283\Desktop

程序运行后会在桌面上创建文件

 文件内存放的就是日志内容

配置文件名称:

logging:
  file:
    name: C:\Users\30283\Desktop\Spring-log.log

Lombok

每一次我们都要获取日志对象,我们可以使用lombok来更加简单的输出

1、添加Lombok依赖

安装插件EditStarters,可以更快速的增加依赖

 2、在pom.xml的界面,右键-》generate-》EditStarts 选择添加Lombok

 依赖就导入了

3、使用注解 @Slf4j

@Controller
@Slf4j
public class Control {
    @PostConstruct
    public void print() {
        log.trace("trace");
        log.debug("debug");
        log.info("info");
        log.warn("warn");
        log.error("error");
    }
}

@Slf4j注解,可以起到创建日志对象的作用,变量名为log,可以直接使用变量名,这个变量名是lombok提供的

Lombok原理

我们打开target中运行生成的class文件

 也就是说,lombok会自动生成这个代码来获取日志对象,然后编译生成class文件

private static final Logger log = LoggerFactory.getLogger(Control.class);

Lombok还有其他注解:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot应用程序中,可以通过配置日志框架将日志输出到文件中。以下是一些常用的日志框架以及如何将日志输出到文件中的配置示例: 1. Logback Logback是Spring Boot默认的日志框架。要将日志输出到文件中,可以在application.properties文件中添加以下配置: ``` logging.file.name=mylog.log ``` 这将在应用程序的根目录下创建一个名为mylog.log的文件,并将所有日志输出到该文件中。 2. Log4j2 要在Log4j2中将日志输出到文件中,可以在application.properties文件中添加以下配置: ``` logging.file.name=mylog.log ``` 这将在应用程序的根目录下创建一个名为mylog.log的文件,并将所有日志输出到该文件中。 3. JUL (java.util.logging) 要在JUL中将日志输出到文件中,可以在application.properties文件中添加以下配置: ``` logging.file.name=mylog.log ``` 这将在应用程序的根目录下创建一个名为mylog.log的文件,并将所有日志输出到该文件中。 注意:以上示例中使用的是logging.file.name属性。如果要使用完整路径而不是在应用程序的根目录下创建日志文件,则可以使用logging.file.path属性。例如: ``` logging.file.path=/var/log/myapp/ logging.file.name=mylog.log ``` 这将在/var/log/myapp/目录下创建一个名为mylog.log的日志文件。 另外,还可以使用logging.pattern.console属性和logging.pattern.file属性来配置日志输出的格式。例如: ``` logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n ``` 这将在控制台和日志文件中以相同的格式输出日志

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值