各类日志配置文件

logback-spring.xml

springboot默认采用slf4j+logback日志,使用logback-spring.xml(logback.xml)作为配置文件
在application.yaml中配置:

logging:
  config: /config/logback.xml #docker中配置
  #config: classpath:logback.xml #本地配置
<?xml version="1.0" encoding="UTF-8" ?>

<configuration>
    <property name="moduleName" value="rent-backend" />
    <property name="logPath" value="${user.dir}/logs" />
    <!-- 引入spirng boot默认的logback配置文件(主要用他来输出彩色的控制台) -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <!--ch.qos.logback.core.ConsoleAppender 是 logback 类的完整路径-->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                %d{yyyy/MM/dd HH:mm:ss.SSS} [%t] %-5level %class{36} %L %M - %msg%n
            </pattern>
        </layout>
    </appender>

    <!--RollingFileAppender 可以做到每天输出一个日志文件-->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--LevelFilter -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <!--匹配则禁止-->
            <onMatch>DENY</onMatch>
            <!--不匹配则应用-->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>
                %d{yyyy/MM/dd HH:mm:ss.SSS} [%t] %-5level %class{36} %L %M - %msg%n
            </pattern>
        </encoder>
        <!-- 滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--输出路径-->
            <fileNamePattern>${logPath}/${moduleName}-info.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--ThresholdFilter 根据范围过滤,即大于等于 error 的日志都记录-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>
                %d{yyyy/MM/dd HH:mm:ss.SSS} [%t] %-5level %class{36} %L %M - %msg%n
            </pattern>
        </encoder>
        <!-- 滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/${moduleName}-error.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>

    <root level="error">
        <appender-ref ref="consoleLog"></appender-ref>
        <appender-ref ref="fileInfoLog"></appender-ref>
        <appender-ref ref="fileErrorLog"></appender-ref>
    </root>
</configuration>

logback配置文件参考二

<configuration>

    <!-- 用来定义变量,name 就是属性,value 就是值,可以在需要的地方引入 name,实现复用 -->
    <!-- Ps: 这里实际上就是在配置日志文文件输出的位置 -->
    <property name="LOG_HOME" value="applog"/>

    <!-- 引入spirng boot默认的logback配置文件(主要用他来输出彩色的控制台) -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

    <!--
        appender用来格式化日志输出节点,有俩个属性name和class,class用来指定哪种输出策略,
        常用就是控制台输出策略和文件输出策略。
     -->
    <!-- Console 输出设置 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <!--            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
            <charset>utf8</charset>
            <!--默认格式输出: 使用彩色面板-->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!-- 默认输出的日志文件 -->
        <file>${LOG_HOME}/app.log</file>
        <!--按天分日志,不按大小-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名和位置: 可以使用相对路径或者绝对路径,如果是相对路径,会直接在当前项目根目录下生成-->
            <fileNamePattern>${LOG_HOME}/all.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!--只保留最近90天的日志-->
            <maxHistory>90</maxHistory>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--            <totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        
        <!--按天分日志和按大小分-->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名和位置: 可以使用相对路径或者绝对路径,如果是相对路径,会直接在当前项目根目录下生成-->
            <fileNamePattern>${LOG_HOME}/all.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <!--只保留最近90天的日志-->
            <maxHistory>90</maxHistory>
            <maxFileSize>50MB</maxFileSize>
            <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
            <!--            <totalSizeCap>1GB</totalSizeCap>-->
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--
         root 标签是必须存在的,并且必须放在最后配置. 用来指定最基础的日志输出级别,只有一个level属性(级别最低是 info,否则报错)
         可以包含零个或多个元素,appender-ref 就是在声明需要使用到哪些自定义配置,最后添加到这个logger。
     -->
    <root level="INFO">
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
    </root>

</configuration>


log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF" monitorInterval="5">
    <Properties>
        <Property name="log4j2.dirs">/home/apps/program/module/logs</Property>
    </Properties>
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %class{36} %L %M - %msg%n"/>
            <Filters>
                <RegexFilter regex="^.*[\n|\r|\t]+.*$" onMatch="DENY" onMismatch="ACCEPT" ></RegexFilter>
            </Filters>
        </Console>
        <RollingFile name="rollingFile_all" fileName="${log4j2.dirs}/all.log"
                     filePattern="${log4j2.dirs}/$${date:yyyy-MM}/all-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
            <Filters>
                <RegexFilter regex="^.*[\n|\r|\t]+.*$" onMatch="DENY" onMismatch="ACCEPT" ></RegexFilter>
            </Filters>
        </RollingFile>
    </appenders>
    <loggers>
        <logger name="com.cwp" level="debug" additivity="true">
            <appender-ref ref="Console"/>
        </logger>
        <root level="ERROR">
            <appender-ref ref="Console"/>
            <appender-ref ref="rollingFile_all"/>
        </root>
    </loggers>
</configuration>

log4j.properties

# Output pattern : date [thread] priority category - message   FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7
log4j.rootLogger=ERROR, Console, RollingFile
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d %-5p [%c{5}] - %m%n
#RollingFile
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.File=../all.log
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

log4j.logger.com.cwp=INFO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值