代码编织梦想

log4j2日志组件

Log4j2 是对Log4j 的升级版本,参考了logback 的一些优秀的设计,并且修复了一些问题。

1.去除依赖

由于springboot默认集成logback,所以再集成log4j2时需要删除默认依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions><!-- 去掉springboot默认配置 -->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        
        <!--引入swagger时 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--引入actuator时 -->
       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


        <!--引入spring-boot-starter-test时 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2.添加log4j2依赖

        <!-- 引入log4j2依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

3.编写配置文件log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="fatal">
    <Properties>
        <!--配置日志文件夹的名称和生成路径 -->
        <Property name="baseDir" value="./log"/>
    </Properties>

    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
            <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout
                    pattern="%d %highlight{%-5level}{ERROR=Bright RED, WARN=Bright Yellow, INFO=Bright Green, DEBUG=Bright Cyan, TRACE=Bright White} %style{[%t]}{bright,magenta} %style{%c{1.}.%M(%L)}{cyan}: %msg%n"/>
        </Console>

        <!--debug级别日志文件输出-->
        <RollingFile name="debug_appender" fileName="${baseDir}/${date:yyyy-MM-dd}-debug.log"
                     filePattern="${baseDir}/debug_%i.log.%d{yyyy-MM-dd}">
            <!-- 过滤器 -->
            <Filters>
                <!-- 限制日志级别在debug及以上在info以下 -->
                <ThresholdFilter level="debug"/>
                <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <!-- 日志格式 -->
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <!-- 策略 -->
            <Policies>
                <!-- 每隔一天转存 -->
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <!-- 文件大小 -->
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
        </RollingFile>

        <!-- info级别日志文件输出 -->
        <RollingFile name="info_appender" fileName="${baseDir}/${date:yyyy-MM-dd}-info.log"
                     filePattern="${baseDir}/info_%i.log.%d{yyyy-MM-dd}">
            <!-- 过滤器 -->
            <Filters>
                <!-- 限制日志级别在info及以上在error以下 -->
                <ThresholdFilter level="info"/>
                <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <!-- 日志格式 -->
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <!-- 策略 -->
            <Policies>
                <!-- 每隔一天转存 -->
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <!-- 文件大小 -->
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
        </RollingFile>

        <!-- error级别日志文件输出 -->
        <RollingFile name="error_appender" fileName="${baseDir}/${date:yyyy-MM-dd}-error.log"
                     filePattern="${baseDir}/error_%i.log.%d{yyyy-MM-dd}">
            <!-- 过滤器 -->
            <Filters>
                <!-- 限制日志级别在error及以上 -->
                <ThresholdFilter level="error"/>
            </Filters>
            <!-- 日志格式 -->
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <Policies>
                <!-- 每隔一天转存 -->
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <!-- 文件大小 -->
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="debug_appender"/>
            <AppenderRef ref="info_appender"/>
            <AppenderRef ref="error_appender"/>
        </Root>
    </Loggers>

</Configuration>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34253002/article/details/129821103

配置log4j(很详细)-爱代码爱编程

 来自:  http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。 1.

kafka实战——应用程序log4j信息同步到远程kafka topic中_wateryouyouyou的博客-爱代码爱编程

应用程序的日志信息可通过log4j同步到Kafka中,即: 客户端——>后台服务应用程序——>Kafka集群 代码如下: 1.pom.xml文件导入log4j与kafka的集成依赖库 <dependency> <groupId>org.apache.kafka</gr

springboot+kafka+log4j_tom和cat的博客-爱代码爱编程_springboot log4j kafka

应用程序的日志信息可通过log4j同步到Kafka中,即: 客户端——>后台服务应用程序——>Kafka集群 代码如下: 1.pom.xml文件导入log4j与kafka的集成依赖库         <dependency> <groupId>org.apache.kaf

springboot入门教程之集成slf4j日志配置_被逼做程序员的博客-爱代码爱编程

SpringBoot入门教程之集成slf4j日志配置 Java日志框架众多,常用的有java.util.logging, log4j, logback,commons-logging等等。个人比较偏好的是slf4j,同时也比较偏好使用后缀为.properties作为日志的配置文件,可能是因为比较熟悉这个吧,下面就来分享一下SpringBoot中集成日志的经

springboot整合log4j2(将日志输出到指定文件)-爱代码爱编程

文章开始之前先做个找工作的介绍吧,由于这次疫情影响,我一个UI朋友的公司破产之后他现在处于找工作阶段,一直没有找到自己合适的,三年工作经验左右,坐标深圳,如果有招UI的朋友可以联系我,作品: http://yiming.zcool.com.cn/   为什么选择Log4j2? 1.性能较强 2.扩展性强,可以自定义level。 3.支持

Springboot入门系列七--集成Log插件与安全管理框架-爱代码爱编程

好久没更新,主要是因为工作忙的遭不住 终于把手头的事搞定了,回头写写博吧 一、集成lof4j 现在大多数项目都禁止使用System.out了,主要是因为这种打印不够美观,不能统一管理,也不好生成日志文件,这对于大型项目来说是绝不不行的。 如何集成呢? 1、Maven依赖: <dependency> <groupId>org.

SpringBoot—整合log4j2入门和log4j2.xml配置详解-爱代码爱编程

关注微信公众号:CodingTechWork,一起学习进步。 引言   对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维。而日志的输出需要有一定的规划,如日志命名、日志大小,日志分割的文件个数等。在Spring的框架下,我们可以使用log4j来进行日志的设置,高版本的SpringBoot会使用log4j2。 介绍 log4j2

Springboot入门到精通(超详细文档)-爱代码爱编程

1. Spring Boot是什么 我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java EE使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中。繁琐的配置,整合第三方框架的配置问题,导致了

Graylog使用入门-springboot集成-爱代码爱编程

1.新增mavne依赖 <!-- graylog远程日志传输依赖--> <!-- https://mvnrepository.com/artifact/biz.paluch.logging/logstash-gelf --> <dependency> <groupId>biz.paluch.lo

springboot从入门到精通(全)-爱代码爱编程

目录 前言1. 入门案例1.1 新建项目1.2 代码模板2. 配置详解2.1 核心配置文件properties2.2 核心配置文件yml、yaml2.3 多环境核心配置文件properties2.4 多环境核心配置文件yml2.5 自定义配置2.5.1 @value2.5.2 @ConfigurationProperties3. springboo

SpringBoot使用Slf4j+Log4j2完成项目的日志记录-爱代码爱编程

SpringBoot使用Slf4j+Log4j完成项目的日志记录 前言 本示例采用SpringBoot项目使用SpringAOP记录日志,Slf4j作为日志门面,Log4j2作为日志实现实,实现开发中的日志记录. 部分效果展示 : 日志文件 : 日志信息 : 代码具体实现如下 : 一、POM.xml 因为SpringBoot自动集成了S

spring、springboot集成 log4j日志、log4j2日志以及slf4j-爱代码爱编程

1、查看pringboot自带的日志框架 新建一个springboot 工程,查看依赖树 通过查看依赖树可以发现,springboot自带被loggong管理的log4j 、logback等日志相关的依赖。为了不影响测试结果,手动排除掉龙宫依赖 <dependency> <groupId>

java springboot logback 日志打印-爱代码爱编程

logback-spring.xml <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true"> <property name="LOG_PATH" value="./log-demo/"/> <property name=

ElasticSearch简单入门和SpringBoot集成-爱代码爱编程

背景 项目中使用第三方网关系统,该网关使用ElasticSearch进行服务访问日志记录。 为充分利用该网关功能,并在数据基础上实现计数、计费功能,需对ElasticSearch进行快速学习,并使用Java代码集成,从而实现项目所需要的运营功能。 ElasticSearch基础知识学习 为快速建立起对ES印象,可按下表进行概念映射: Kibana搭

springboot集成mybatis-plus快速入门(详细)-爱代码爱编程

文章目录 1、快速开始1.1数据库准备1.2初始化工程1.3添加Maven依赖1.4配置1.5编码1.6开始使用 2、安装3、配置4、注解5、快速测试 就像官网说的一样,MyBatis-Plus (open