SpringBoot之日志

SpringBoot之日志

1.关于日志级别
error > warn > info > debug > trace

springboot默认日志级别是 info

我们可以在springboot的默认配置文件中修改日志级别

logging.levelmap类型, 我们可以指定不同包下使用不同的日志级别

logging:
  level:
    com.atguigu: trace
2.以文件形式打印日志logging.file.name

springboot默认日志的输出方式是在控制台输出, 通过在springboot默认配置文件中配置logging.file.name可以使日志以文件形式输出

  1. 当不指定日志文件的具体位置, 只指定文件名字时, 日志文件默认会生成在项目目录下

    logging:
      file:
        name: boot.log
    
  2. 当指定日志文件的具体位置时, 日志文件会生成在指定的位置

    logging:
      file:
        name: D:/boot.log
    

这种方式既可以指定日志文件的生成位置, 也可以指定日志文件的名字

3.以文件形式打印日志logging.file.path

在springboot的默认配置文件中配置logging.file.path属性, 指定日志文件的路径, 日志生成后将会在指定的路径处生成一个名为spring.log的日志文件

logging:
  file:
    path: /spring/log #在项目所在磁盘根目录下的spring目录下的log目录下生成日志文件

这种方式只可以指定日志文件的生成位置, 日志文件的名字只会使用默认的spring.log

4.日志输出格式
  1. 控制台

    在springboot默认配置文件中配置logging.pattern.console

  2. 文件

    在springboot默认配置文件中配置logging.pattern.file

5.指定日志配置文件

在类路径下放上每个日志框架自己的配置文件即可, springboot就不使用他默认的日志配置了

Logging SystemCustomization
Logbacklogback-spring.xml, logback-spring.groovy, logback.xml, or logback.groovy
Log4j2log4j2-spring.xml or log4j2.xml
JDK (Java Util Logging)logging.properties

当日志配置命名为logback.xml时, 这个配置直接就被日志框架识别了

当日志配置命名为logback-spring.xml时, 这个配置由springboot解析识别, 可以使用更高级的功能, 例如 springProfile, 他与springboot中的Profiles对应, 在springboot默认配置文件中激活指定Profiles, 日志配置也将改变

<springProfile name="staging">
    <!-- configuration to be enabled when the "staging" profile is active -->
</springProfile>
6.切换日志框架
  1. springboot默认使用spring-boot-starter-logging启动器, 使用这个启动器默认使用Logback 进行日志记录, 如果要使用Log4j2 进行日志记录, 那么可以切换spring-boot-starter-log4j2启动器

  2. 具体切换方法为, 将默认spring-boot-starter-logging启动器排除, 使用spring-boot-starter-log4j2启动器

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!--排除默认spring-boot-starter-logging启动器-->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
    <!--使用spring-boot-starter-log4j2启动器-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    
  3. 切换log4j日志框架

    首先排除日志框架的实现jar, 比如偷梁换柱jar, log4j-to-slf4j.jar, 和logback-classic.jar(logback实现jar), 然后引入log4j的实现jar

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    

SLF4J官网: http://www.slf4j.org/

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python 的 logging 模块可以通过配置文件来设置日志的输出格式、级别、输出位置等信息。其中,JSON 格式的配置文件可以更加灵活地配置日志信息。 以下是一个简单的 JSON 配置文件示例: ```json { "version": 1, "disable_existing_loggers": false, "formatters": { "simple": { "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" } }, "handlers": { "console": { "class": "logging.StreamHandler", "level": "DEBUG", "formatter": "simple", "stream": "ext://sys.stdout" }, "file": { "class": "logging.handlers.RotatingFileHandler", "level": "DEBUG", "formatter": "simple", "filename": "example.log", "maxBytes": 10485760, "backupCount": 5, "encoding": "utf8" } }, "loggers": { "example": { "level": "DEBUG", "handlers": ["console", "file"], "propagate": "no" } } } ``` 该配置文件中包含了以下几个部分: - `"version"`:配置文件的版本号,目前只有 1 个版本; - `"disable_existing_loggers"`:是否禁用已经存在的 logger。如果设置为 `true`,则会禁用默认的 root logger; - `"formatters"`:日志格式; - `"handlers"`:日志输出位置; - `"loggers"`:具体的 logger 配置。 在上面的配置文件中,定义了一个名为 `"example"` 的 logger,它的日志级别为 `DEBUG`,并且输出到控制台和文件中。同时,还定义了一个 `"simple"` 格式,它包含了日志的时间、logger 名称、日志级别和日志信息。 要使用 JSON 格式的配置文件,可以使用 `fileConfig` 函数来加载配置: ```python import logging.config logging.config.fileConfig('logging.json') logger = logging.getLogger('example') logger.debug('This is a debug message') logger.info('This is an info message') logger.warning('This is a warning message') logger.error('This is an error message') logger.critical('This is a critical message') ``` 在上面的代码中,使用 `fileConfig` 函数加载名为 `logging.json` 的配置文件,并使用 `getLogger` 函数获取名为 `"example"` 的 logger,通过 logger 输出日志信息。 需要注意,使用 JSON 配置文件时,需要将配置文件中的每个部分都填写完整,否则会出现解析错误。此外,也可以使用其他格式的配置文件,例如 INI 格式的配置文件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值