springboot logger 的配置
1.dev(开发环境)中logger配置详解
<!-- 文件输出格式 -->
<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
<springProfile name="dev">
<!-- 配置控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- 控制台输出输出的格式 -->
<encoder>
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<!-- 在哪儿些包下,日志输出的级别 -->
<logger name="xxx.xxxx.xxx" level="debug"/>
<root level="info">
<!-- 启动name为“CONSOLE”的日志级别,默认可以配置多个 -->
<appender-ref ref="CONSOLE" />
</root>
</springProfile>
2.test(测试环境下)的配置文件
<property name="TEST_FILE_PATH" value="e:/test/logs/" />
<springProfile name="test">
<!-- 每天产生一个文件 -->
<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志文件的全路径 -->
<file>${TEST_FILE_PATH}/spring_info.log</file>
<!-- 日志文件的记录格式 -->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名称 -->
<fileNamePattern>${TEST_FILE_PATH}/logFile.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
<!-- 文件最大保存历史数量 -->
<MaxHistory>100</MaxHistory>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${PATTERN}</pattern>
</layout>
</appender>
<!-- 打印控制台 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<logger name="xxx.xxx.xxx" level="debug"/>
<root level="info">
<!-- 启动name为“CONSOLE”和“TEST-FILE”日志级别,默认可以配置多个 -->
<appender-ref ref="TEST-FILE" />
<appender-ref ref="CONSOLE" />
</root>
</springProfile>
3.全部的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 文件输出格式 -->
<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
<!-- test文件路径 -->
<property name="TEST_FILE_PATH" value="e:/test/logs/" />
<!-- pro文件路径 -->
<property name="PRO_FILE_PATH" value="/opt/abc/logs" />
<!-- 开发环境 -->
<springProfile name="dev">
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<logger name="xxx.xxx.xxx" level="debug"/>
<root level="info">
<appender-ref ref="CONSOLE" />
</root>
</springProfile>
<!-- 测试环境 -->
<springProfile name="test">
<!-- 每天产生一个文件 -->
<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径 -->
<file>${TEST_FILE_PATH}/spring_info.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名称 -->
<fileNamePattern>${TEST_FILE_PATH}/logFile.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
<!-- 文件最大保存历史数量 -->
<MaxHistory>100</MaxHistory>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${PATTERN}</pattern>
</layout>
</appender>
<!-- 打印控制台 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<logger name="xxx.xxx.xxx" level="debug"/>
<root level="info">
<appender-ref ref="TEST-FILE" />
<appender-ref ref="CONSOLE" />
</root>
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PRO_FILE_PATH}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
<MaxHistory>100</MaxHistory>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${PATTERN}</pattern>
</layout>
</appender>
<root level="warn">
<appender-ref ref="PROD_FILE" />
</root>
</springProfile>
</configuration>
加maven依赖
其中配置文件中有几个类
输出到控制台
ch.qos.logback.core.ConsoleAppender
输出到文件
ch.qos.logback.core.rolling.RollingFileAppender
用于重命名日志文件名
ch.qos.logback.core.rolling.TimeBasedRollingPolicy
以上都是属于logback-core.jar中的类
从继承关系上看
添加web的依赖即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
springboot logger 的配置的更多相关文章
- Springboot 日志管理配置logback-spring.xml
几种常见的日志 Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用: Log4j2:apach旗下的关于log4j的升级版: Logback:是基于slf4j接 ...
- springboot mvc自动配置(三)初始化mvc的组件
所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 在springboot mvc自动配置的时候,获得了DispatcherServlet和 ...
- 关于SpringBoot的自动配置和启动过程
一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...
- SpringBoot嵌入式Servlet配置原理
SpringBoot嵌入式Servlet配置原理 SpringBoot修改服务器配置 配置文件方式方式修改,实际修改的是ServerProperties文件中的值 server.servlet.con ...
- SpringBoot外部化配置使用Plus版
本文如有任何纰漏.错误,请不吝指正! PS: 之前写过一篇关于SpringBoo中使用配置文件的一些姿势,不过嘛,有句话(我)说的好:曾见小桥流水,未睹观音坐莲!所以再写一篇增强版,以便记录. 序言 ...
- 面试题: SpringBoot 的自动配置原理
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 3.Spring Boot 的自动配置原理 package com.mmall; import org. ...
- SpringBoot | 3.1 配置数据源
目录 前言 1. 数据源的自动配置 2. *数据源自动配置源码分析 2.1 DataSourceAutoConfiguration:数据源自动配置类 2.2 JdbcTemplateAutoConfi ...
- SpringBoot的自动配置
1.根据条件来装配bean,SpringBoot的自动配置,根据条件进行自动配置. 首先创建一个接口,如下所示: package com.bie.encoding; /** * * @Descript ...
- SpringBoot的自动配置原理
一.入口 上篇注解@SpringBootApplication简单分析,说到了@SpringBootApplication注解的内部结构, 其中@EnableAutoConfiguration利用En ...
- SpringBoot使用Nacos配置中心
本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...
随机推荐
- dotnet学习笔记-专题03-RabbitMQ-01
专题03--RabbitMQ 1. RabbitMQ安装 服务端 使用如下sh脚本安装: #!/bin/sh sudo apt-get install curl gnupg apt-transport ...
- (Redis基础教程之九) 如何在Redis中使用Sorted Sets
介绍 Redis是一个开源的内存中键值数据存储.在Redis的,排序集合类似于一个数据类型集在这两者都是串的非重复的组.不同之处在于,已排序集中的每个成员都与一个分数相关联,从而可以从最小分数到最大分 ...
- Java IO 框架整理
昨天笔试时碰到了IO流的题目,很久没接触IO编程了,所以那道题目做的不行. 搜了一下,这篇文章总结的很有条理,果断转载. 转自:http://tanshenghui.javaeye.com/blog/ ...
- SpringFlex框架搭建
或者参考http://limingnihao.iteye.com/blog/830409.使用Eclipse的Maven构建SpringMVC项目. 1.1 简单介绍 Spring是一个轻量级的控制反 ...
- 强网杯2023 谍影重重3.0 wp
参考文章:[使用主动探测方法识别 U2hhZG93c29ja3M=(base64) 服务 - Phuker's Blog]:https://phuker.github.io/posts/U2hhZG9 ...
- 题解:P11007 『STA - R7』Odtlcsu
有个很显然的结论,题目中的 $x$ 与 $y$ 奇偶性相同. 有个更简单的证明,奇数的平方为奇数,偶数的平方为偶数,所以 $x$ 与 $y$ 奇偶性相同. 思路就显而易见了,考虑构造一个长度为 $y$ ...
- java多层级zip解压
java多层级zip解压 前言 项目中偶然需要,希望能处理嵌套的压缩包,但是又不希望把文件解压处理.原本不希望重复造轮子,但没有发现很好用的现成案例,就简单处理了一下. 正文 java做zip解压一般 ...
- 【Linux】ps -ef|grep -v grep|awk '{print $2}' 命令详解
前言 在Linux服务器中使用脚本时,经常见到ps -ef|grep xxx|grep -v grep|awk '{print $2}'这一句命令 前半部分的ps -ef|grep命令,相信经常接触L ...
- trim-all-strings-elements-in-a-complex-object
package com.xxx.common.util; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.Strin ...
- PMML讲解及使用
1. PMML概述 PMML全称预言模型标记语言(Predictive Model Markup Language),利用XML描述和存储数据挖掘模型,是一个已经被W3C所接受的标准.使用pmml储存 ...