项目中实际使用的日志配置log4j2 + slf4j

1.POM依赖说明

<!-- LOGGING begin -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.4.1</version>
</dependency>


<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.4.1</version>
<scope>runtime</scope>
</dependency>


<!-- 代码直接调用log4j会被桥接到slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<!-- 代码直接调用common-logging会被桥接到slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<!-- 代码直接调用java.util.logging会被桥接到slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
<!-- LOGGING end -->

2.log4j2.xml配置实例      ***是请各位修改为自己的目录

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="error">
    <!--先定义所有的appender-->
    <appenders>
        <!--这个输出控制台的配置-->
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%date{HH:mm:ss,SSS} [%thread] [%level] %logger{1.} - %msg%n"/>
        </Console>
        <!-- 按时间切分,也可以加入按大小切分 -->
        <RollingFile name="RollingFile" fileName="/home/****/webroot/logs/****/****.log"
                     filePattern="/home/****/webroot/logs/****/***.log.%d{yyyyMMdd}">
            <PatternLayout pattern="%date{HH:mm:ss,SSS} [%thread] [%level] %logger{1.} - %msg%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <!-- 按时间切分,也可以加入按大小切分 -->
        <RollingFile name="PublicRollingFile" fileName="/home/****/webroot/logs/****/public.log"
                     filePattern="/home/****/webroot/logs/****/public.log.%d{yyyyMMddHH}">
            <PatternLayout pattern="%msg%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <!-- public日志写入到kafka中 -->
        <Kafka name="KafkaPublicLogFile" topic="****-public-log">
            <PatternLayout pattern="%date %message" />
            <Property name="bootstrap.servers">127.0.0.1:9093</Property>
        </Kafka>
        <!-- 按时间切分,也可以加入按大小切分 -->
        <RollingFile name="ApolloRollingFile" fileName="/home/****/webroot/logs/****/apollo.log"
                     filePattern="/home/****/webroot/logs/****/apollo.log.%d{yyyyMMdd}">
            <PatternLayout pattern="%date{HH:mm:ss,SSS} [%thread] [%level] %logger{1.} - %msg%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
    </appenders>
    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
    <loggers>
        <logger name="com.****.kefu.****" level="INFO" />
        <logger name="org.springframework" level="INFO" />
        <logger name="com.****.kefu.****.utils.DealLog" level="INFO" additivity="false">
        <appender-ref ref="PublicRollingFile"/>
        </logger>
        <logger name="com.****.kefu.****.utils.DealLog" level="INFO" additivity="false">
            <appender-ref ref="KafkaPublicLogFile"/>
        </logger>
        <logger name="com.****.kefu.****.web.hag" level="INFO" additivity="false">
            <appender-ref ref="ApolloRollingFile"/>
        </logger>
        <!-- 
        <logger name="org.mybatis" level="debug" />
        <logger name="com.****.kefu.****.dao" level="DEBUG"/>
        <logger name="java.sql" level="DEBUG"/>
          -->
        
        <!--建立一个默认的root的logger, 除了上面定义的logger,其他只有warn才会打印-->
        <root level="WARN">
            <appender-ref ref="RollingFile"/>
            <appender-ref ref="Console"/>            
        </root>
    </loggers>
</configuration>




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值