springboot(三)配置日志

工程代码:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo

1.添加pom.xml依赖
    <!-- log4j. -->
        <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

2.application.properties配置加载日志的配置文件

#日志设置
logging.config=classpath:log4j2-dev.xml

3.添加日志文件 log4j2-dev.xml

<?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="c:/opt/roncoo/logs" />
    <!-- pro文件路径 -->
    <property name="PRO_FILE_PATH" value="/opt/roncoo/logs" />

    <!-- 开发环境 -->
    <springProfile name="dev">
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${PATTERN}</pattern>
            </encoder>
        </appender>
        <!-- 输出debug信息的目录 -->
        <logger name="com.kawa" 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}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 文件名称 -->
                <fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
                <!-- 文件最大保存历史数量 -->
                <MaxHistory>100</MaxHistory>
            </rollingPolicy>

            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>${PATTERN}</pattern>
            </layout>
        </appender>

        <root level="info">
            <appender-ref ref="TEST-FILE" />
        </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>
时间: 2024-09-28 19:51:36

springboot(三)配置日志的相关文章

SpringBoot(八)----SpringBoot配置日志文件

今天介绍一下SpringBoot配置日志文件 SpringBoot在所有的内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如Java Util Logging,Log4J,Log4J2和Logback.但是每种Logger都可以通过配置使用控制台或者文件输出日志内容. 一.SpringBoot默认日志Logback SLF4J,是一个针对各类Java日志框架的统一Façade抽象.Java有很多的日志框架,如java.util.logging,log4j,lo

SpringBoot中的日志配置

SpringBoot支持JavaUtilLogging,Log4J,Log4J2和Logback作为日志框架,无论使用哪种日志框架,SpringBoot已为当前使用日志框架的控制台输出及文件输出做好了配置. 默认情况下,SpringBoot使用Logback作为日志框架 配置日志级别: logging.file=D:/mylog/log.log 配置日志文件,格式为logging.level.包名=级别: logging.level.org.springframework.web=DEBUG 原

我是如何做到springboot自动配置原理解析

摘自:https://www.cnblogs.com/zszxz/p/12195703.html 一前言 springboot 2.0.0版本分析,整体的自动配置流程如下: 具体配置参考官方文档:springboot-doc 二 @SpringBootApplication 核心注解@SpringBootConfiguration其实就是@Configuration注解,表示是个配置类:@EnableAutoConfiguration表示springboot的自动配置机制:@ComponentS

助力SpringBoot自动配置的条件注解ConditionalOnXXX分析--SpringBoo

注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 前言 本篇接如何分析SpringBoot源码模块及结构?--SpringBoot源码(二) 上一篇分析了SpringBoot源码结构及各个模块pom之间的关系后,那么此篇开始就开始解开SpringBoot新特性之一--自动配置的神秘面纱了.因为SpringBoot自动配置原理是基于其大量的条件注解ConditionalOnXXX,因此,本节我们先来撸下Spring的条件注解的相关源码. 2 SpringBoot的派生条件

配置日志文件

org.apache.log4j.Logger详解 1.概述 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作:跟踪代码运行时轨迹,作为日后审计的依据:担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息. 最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体. http://l

SpringBoot学习(1) - 日志

1 package com.study.spring_boot_log; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.boot.autoconfigure.websocket.WebSocketAutoConfiguration; 6

springboot(四).配置FastJson自定义消息转化器

配置FastJson自定义消息转化器 一.fastJson简介 fastJson是阿里巴巴旗下的一个开源项目之一,顾名思义它专门用来做快速操作Json的序列化与反序列化的组件.它是目前json解析最快的开源组件没有之一!在这之前jaskJson是命名为快速操作json的工具,而当阿里巴巴的fastJson诞生后jaskjson就消声匿迹了,不过目前很多项目还在使用. 今天,我们使用fastJson来配置消息转换器,过滤并修改返回的消息 二.依赖导入 <!--fastjson依赖添加--> &l

Ext3的三种日志记录方式

Q1:Ext3的三种日志记录方式 1 data=writeback 方式data=writeback方式下,ext3根本不执行任何形式的数据日志记录,提供给您的是和在XFS,JFS和 ReiserFS文件系统中找到的类似的日志记录(仅元数据).这会让最近修改的文件在出现意外的重新引导事件中被毁坏.如果不考虑这个缺点, data=writeback 方式在大多数情况下应该能够提供最佳的ext3性能. 2 data=ordered 方式  data=ordered方式下,ext3只是正式记录元数据,

SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页

SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了.全部自动实现. 话不多说,直接上代码: 第一步pom文件配置添加jar: <!-- mybatis的分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>