SpringBoot之LogBack配置详解
logback 默认集成在 spring boot 中,是基于 slf4j 的日志框架。默认情况下 spring boot 是以 info 级别输出到控制台。
它的日志级别是:
all < trace < debug < info < warn < error < off
配置
logback 可以直接在 application.properties 或 application.yml 中配置,但仅支持一些简单的配置,复杂的文件输出还是需要配置在 xml 配置文件中。配置文件可命名为 logback.xml , logback 自动会在 classpath 的根目录下搜索配置文件,不过 spring boot 建议命名为 logback-spring.xml,这样会自动引入 spring boot 一些扩展功能。
如果需要引入自定义名称的配置文件,需要在 spring boot 的配置文件中指定,如:
logging: config: classpath:logback-spring.xml
同时 spring boot 提供了一个默认的 base.xml 配置,可以按照如下方式引入:
<?xml version="1.0" encoding="utf-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> </configuration>
base.xml 提供了一些基本的默认配置以及在控制台输出时的关键字配色,具体文件内容可以看这里,可以查看到一些常用的配置写法。
详细配置
变量
可以使用 <property> 来定义变量:
<property name="log.path" value="/var/logs/application" />
同时可以引入 spring 的环境变量:
<property resource="application.yml" /> <property resource="application.properties" />
所有的变量都可以通过 ${} 来调用。
输出到控制台
<?xml version="1.0" encoding="utf-8"?> <configuration> <appender name="console" class="ch.qos.logback.core.consoleappender"> <encoder> <pattern>%.-1level|%-40.40logger{0}|%msg%n</pattern> </encoder> </appender> <logger name="com.mycompany.myapp" level="debug" /> <logger name="org.springframework" level="info" /> <logger name="org.springframework.beans" level="debug" /> <root level="warn"> <appender-ref ref="console" /> </root> </configuration>
输出到文件
<property name="log_file" value="logfile" /> <appender name="file" class="ch.qos.logback.core.rolling.rollingfileappender"> <file>${log_file}.log</file> <rollingpolicy class="ch.qos.logback.core.rolling.timebasedrollingpolicy"> <!-- 每日归档日志文件 --> <filenamepattern>${log_file}.%d{yyyy-mm-dd}.gz</filenamepattern> <!-- 保留 30 天的归档日志文件 --> <maxhistory>30</maxhistory> <!-- 日志文件上限 3g,超过后会删除旧的归档日志文件 --> <totalsizecap>3gb</totalsizecap> </rollingpolicy> <encoder> <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> </encoder> </appender>
多环境配置
logback 同样支持多环境配置,如 dev 、 test 、 prod
<springprofile name="dev"> <logger name="com.mycompany.myapp" level="debug"/> </springprofile>
启动的时候 java -jar xxx.jar --spring.profiles.active=dev 即可使配置生效。
如果要使用 spring 扩展的 profile 支持,配置文件名必须命名为 logback_spring.xml,此时当 application.properties 中指定为 spring.profiles.active=dev 时,上述配置才会生效。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: java使用google身份验证器实现动态口令验证的示例
下一篇: java实现酒店管理系统
推荐阅读
-
SpringBoot之LogBack配置详解
-
详解Spring框架注解扫描开启之配置细节
-
SpringBoot2.x系列教程(三十七)SpringBoot web之网站图标(Favicon)配置
-
SpringBoot之自动配置流程说明
-
SpringBoot+Mybatis+PageHelper+logback+Swagger+Maven的整合配置
-
js代码规范之Eslint安装与配置详解
-
apollo与springboot集成实现动态刷新配置的教程详解
-
SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解
-
SpringBoot配置属性之DataSource
-
SpringBoot开发案例之配置Druid数据库连接池的示例