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 的配置的更多相关文章

  1. Springboot 日志管理配置logback-spring.xml

    几种常见的日志 Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用: Log4j2:apach旗下的关于log4j的升级版: Logback:是基于slf4j接 ...

  2. springboot mvc自动配置(三)初始化mvc的组件

    所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 在springboot mvc自动配置的时候,获得了DispatcherServlet和 ...

  3. 关于SpringBoot的自动配置和启动过程

    一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...

  4. SpringBoot嵌入式Servlet配置原理

    SpringBoot嵌入式Servlet配置原理 SpringBoot修改服务器配置 配置文件方式方式修改,实际修改的是ServerProperties文件中的值 server.servlet.con ...

  5. SpringBoot外部化配置使用Plus版

    本文如有任何纰漏.错误,请不吝指正! PS: 之前写过一篇关于SpringBoo中使用配置文件的一些姿势,不过嘛,有句话(我)说的好:曾见小桥流水,未睹观音坐莲!所以再写一篇增强版,以便记录. 序言 ...

  6. 面试题: SpringBoot 的自动配置原理

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 3.Spring Boot 的自动配置原理 package com.mmall; import org. ...

  7. SpringBoot | 3.1 配置数据源

    目录 前言 1. 数据源的自动配置 2. *数据源自动配置源码分析 2.1 DataSourceAutoConfiguration:数据源自动配置类 2.2 JdbcTemplateAutoConfi ...

  8. SpringBoot的自动配置

    1.根据条件来装配bean,SpringBoot的自动配置,根据条件进行自动配置. 首先创建一个接口,如下所示: package com.bie.encoding; /** * * @Descript ...

  9. SpringBoot的自动配置原理

    一.入口 上篇注解@SpringBootApplication简单分析,说到了@SpringBootApplication注解的内部结构, 其中@EnableAutoConfiguration利用En ...

  10. SpringBoot使用Nacos配置中心

    本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...

随机推荐

  1. dotnet学习笔记-专题03-RabbitMQ-01

    专题03--RabbitMQ 1. RabbitMQ安装 服务端 使用如下sh脚本安装: #!/bin/sh sudo apt-get install curl gnupg apt-transport ...

  2. (Redis基础教程之九) 如何在Redis中使用Sorted Sets

    介绍 Redis是一个开源的内存中键值数据存储.在Redis的,排序集合类似于一个数据类型集在这两者都是串的非重复的组.不同之处在于,已排序集中的每个成员都与一个分数相关联,从而可以从最小分数到最大分 ...

  3. Java IO 框架整理

    昨天笔试时碰到了IO流的题目,很久没接触IO编程了,所以那道题目做的不行. 搜了一下,这篇文章总结的很有条理,果断转载. 转自:http://tanshenghui.javaeye.com/blog/ ...

  4. SpringFlex框架搭建

    或者参考http://limingnihao.iteye.com/blog/830409.使用Eclipse的Maven构建SpringMVC项目. 1.1 简单介绍 Spring是一个轻量级的控制反 ...

  5. 强网杯2023 谍影重重3.0 wp

    参考文章:[使用主动探测方法识别 U2hhZG93c29ja3M=(base64) 服务 - Phuker's Blog]:https://phuker.github.io/posts/U2hhZG9 ...

  6. 题解:P11007 『STA - R7』Odtlcsu

    有个很显然的结论,题目中的 $x$ 与 $y$ 奇偶性相同. 有个更简单的证明,奇数的平方为奇数,偶数的平方为偶数,所以 $x$ 与 $y$ 奇偶性相同. 思路就显而易见了,考虑构造一个长度为 $y$ ...

  7. java多层级zip解压

    java多层级zip解压 前言 项目中偶然需要,希望能处理嵌套的压缩包,但是又不希望把文件解压处理.原本不希望重复造轮子,但没有发现很好用的现成案例,就简单处理了一下. 正文 java做zip解压一般 ...

  8. 【Linux】ps -ef|grep -v grep|awk '{print $2}' 命令详解

    前言 在Linux服务器中使用脚本时,经常见到ps -ef|grep xxx|grep -v grep|awk '{print $2}'这一句命令 前半部分的ps -ef|grep命令,相信经常接触L ...

  9. trim-all-strings-elements-in-a-complex-object

    package com.xxx.common.util; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.Strin ...

  10. PMML讲解及使用

    1. PMML概述 PMML全称预言模型标记语言(Predictive Model Markup Language),利用XML描述和存储数据挖掘模型,是一个已经被W3C所接受的标准.使用pmml储存 ...