springboot2.0 : log4j 的基础使用

springboot2.x 配置log4j

传统方式打印日志比较复杂, 每次打印须要定义全局变量java

private static final Logger logger = LoggerFactory.getLogger(this.getClass())  spring

springboot2.x ,只须要加个注解~~~~api

 

项目结构

影响文件: pom.xml , application.yml , logback.xml springboot

 

pom.xml 引入jar包

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>

 

application.yml 配置

logging:
  level:
    root:  ERROR
    org.springframework:  ERROR
    org.mybatis:  ERROR
#本身的工程包名录 : 日志级别
    org.xxx.xxx.wx:  DEBUG
    org.xxx.xxx.db:  DEBUG
    org.xx.xx:  INFO
  file: /var/logs/litemall-wx-api/xxx.log

logback.xml 

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_HOME" value="/var/logs/xxxx/" />
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 按照天天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/info.log.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>100MB</MaxFileSize>
        </triggeringPolicy>
    </appender>




    <!--只保存error日志-->
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
        <!--滚动输出策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/error.log.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>100MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
        <appender-ref ref="fileErrorLog" />
    </root>
<!--    &lt;!&ndash; 开发环境日志级别为DEBUG/而且开发环境不写日志文件 &ndash;&gt;-->
<!--    <springProfile name="dev">-->
<!--        &lt;!&ndash; 日志输出级别 &ndash;&gt;-->
<!--        <root level="DEBUG">-->
<!--            <appender-ref ref="STDOUT" />-->
<!--            <appender-ref ref="FILE" />-->
<!--            <appender-ref ref="fileErrorLog" />-->
<!--        </root>-->

<!--    </springProfile>-->

<!--    &lt;!&ndash; 测试环境日志级别为INFO/而且记录日志文件 &ndash;&gt;-->
<!--    <springProfile name="test">-->
<!--        &lt;!&ndash; 日志输出级别 &ndash;&gt;-->
<!--        <root level="INFO">-->
<!--            <appender-ref ref="STDOUT" />-->
<!--            <appender-ref ref="FILE" />-->
<!--            <appender-ref ref="fileErrorLog" />-->
<!--        </root>-->
<!--    </springProfile>-->

</configuration>

 

生成规则: mybatis

  • 天天生成一个文件
  • 全部日志自动打印打info.log (包含wran,error)
  • error.log 同步记录, 利于排查

java引用 

import lombok.extern.slf4j.Slf4j;

相关文章
相关标签/搜索