zoukankan      html  css  js  c++  java
  • maven中slf4j+log4j的使用

    0.背景

    参考我这篇

    Springboot中slf4j+log4j2的使用

    1.导入pom

            <!-- 日志相关 - Start -->
            <!-- slf4j -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.25</version>
            </dependency>
            <!-- log4j2: 建议2.6以上-->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.8.2</version>
            </dependency>
            <!-- log4j2和slf4j桥接依赖-->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>2.8.2</version>
            </dependency>
            <!-- 日志相关 - End -->
    

    2.编写配置文件

    文件名:log4j2.xml,放在resources目录下

    <?xml version="1.0" encoding="utf-8"?>
    <!--status:log4j包内部日志等级 600s刷新一次配置 -->
    <Configuration status="WARN" monitorInterval="600">
        <!-- 参数声明 -->
        <Properties>
            <!-- 日志文件存放根路径 -->
            <property name="DEFAULT_LOG_ROOT_PATH" value="./"/>
            <!-- 日志格式 -->
            <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} -- %style{[%t]}{bright,magenta} %highlight{%-5level}{ERROR=Bright RED, WARN=Bright Yellow, INFO=Bright Green, DEBUG=Bright Cyan, TRACE=Bright White} %logger{36}.%M - %msg%n"/>
            <!-- 日志文件最大文件大小全局配置,单位可以为KB、MB或GB,一天之内最大文件产生数量全局配置 -->
            <property name="MAX_FILE_SIZE" value="100MB"/>
            <property name="MAX_FILE_NUM" value="30"/>
    
            <!-- debug 日志文件位置及名称,在rollFile的时候老文件的生成规则 -->
            <property name="DEBUG_FILE_PATH_ING" value="${DEFAULT_LOG_ROOT_PATH}/logs/current/debug.log"/>
            <!--  filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"> 备份时使用gz格式压缩-->
            <property name="DEBUG_FILE_PATH_ED" value="${DEFAULT_LOG_ROOT_PATH}/log/history/$${date:yyyy-MM-dd}/debug-%d{yyyy-MM-dd}.%i.log"/>
    
            <!-- info 日志文件位置及名称,在rollFile的时候老文件的生成规则 -->
            <property name="INFO_FILE_PATH_ING" value="${DEFAULT_LOG_ROOT_PATH}/logs/current/info.log"/>
            <property name="INFO_FILE_PATH_ED" value="${DEFAULT_LOG_ROOT_PATH}/logs/history/$${date:yyyy-MM-dd}/info-%d{yyyy-MM-dd}.%i.log"/>
    
            <!-- error 日志文件位置及名称,在rollFile的时候老文件的生成规则 -->
            <property name="ERROR_FILE_PATH_ING" value="${DEFAULT_LOG_ROOT_PATH}/logs/current/error.log"/>
            <property name="ERROR_FILE_PATH_ED" value="${DEFAULT_LOG_ROOT_PATH}/logs/history/$${date:yyyy-MM-dd}/error-%d{yyyy-MM-dd}.%i.log"/>
    
            <!-- warn 日志文件位置及名称,在rollFile的时候老文件的生成规则 -->
            <property name="WARN_FILE_PATH_ING" value="${DEFAULT_LOG_ROOT_PATH}/logs/current/warn_error.log"/>
            <property name="WARN_FILE_PATH_ED" value="${DEFAULT_LOG_ROOT_PATH}/logs/history/$${date:yyyy-MM-dd}/warn_error-%d{yyyy-MM-dd}.%i.log"/>
        </Properties>
    
        <appenders>
            <!-- 控制台输出日志信息 -->
            <console name="Console_Log" target="SYSTEM_OUT">
                <PatternLayout pattern="${LOG_PATTERN}"/>
            </console>
            <!-- debug日志文件输出日志信息 -->
            <RollingFile name="Debug_File" fileName="${DEBUG_FILE_PATH_ING}" filePattern="${DEBUG_FILE_PATH_ED}">
                <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout pattern="${LOG_PATTERN}"/>
                <Policies>
                    <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/>
                    <TimeBasedTriggeringPolicy/>
                </Policies>
                <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/>
            </RollingFile>
            <!-- info日志文件输出日志信息 -->
            <RollingFile name="Info_File" fileName="${INFO_FILE_PATH_ING}" filePattern="${INFO_FILE_PATH_ED}">
                <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout pattern="${LOG_PATTERN}"/>
                <Policies>
                    <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/>
                    <TimeBasedTriggeringPolicy/>
                </Policies>
                <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/>
            </RollingFile>
            <!-- warn日志文件输出日志信息 -->
            <RollingFile name="Warn_File" fileName="${ERROR_FILE_PATH_ING}" filePattern="${ERROR_FILE_PATH_ED}">
                <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout pattern="${LOG_PATTERN}"/>
                <Policies>
                    <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/>
                    <TimeBasedTriggeringPolicy/>
                </Policies>
                <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/>
            </RollingFile>
            <!-- error日志文件输出日志信息 -->
            <RollingFile name="Error_File" fileName="${ERROR_FILE_PATH_ING}" filePattern="${ERROR_FILE_PATH_ED}">
                <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout pattern="${LOG_PATTERN}"/>
                <Policies>
                    <SizeBasedTriggeringPolicy size="${MAX_FILE_SIZE}"/>
                    <TimeBasedTriggeringPolicy/>
                </Policies>
                <DefaultRolloverStrategy max="${MAX_FILE_NUM}"/>
            </RollingFile>
        </appenders>
        <!--配置总的日志监听级别-->
        <loggers>
            <root level="INFO">
                <appender-ref ref="Console_Log"/>
                <appender-ref ref="Debug_File"/>
                <appender-ref ref="Info_File"/>
                <appender-ref ref="Error_File"/>
            </root>
        </loggers>
    </Configuration>
    

    3.使用

    • 类上加注解@Slf4j
    • log.xx
  • 相关阅读:
    Nginx使用GeoIP模块来限制地区访问
    CenTOS7使用ACL控制目录权限,只给某个用户访问特定目录
    CentOS配置服务开机自启
    设置普通用户输入sudo,免密进入root账户
    Centos安装git并配置ssh
    ThreadLocal线程隔离
    Spring cloud 超时配置总结
    Hystrix超时测试
    mysql limit分页查询效率比拼
    linux CPU100%异常排查
  • 原文地址:https://www.cnblogs.com/yang37/p/15248548.html
Copyright © 2011-2022 走看看