Spring5新功能日志框架Log4j2整合示例

目录
  • Spring5整合Log4j2日志框架
    • 一、引入依赖
    • 二、创建Log4j2 配置文件
    • 三、手动进行单独的输出

Spring5整合Log4j2日志框架

本次系列的学习是基于 spring5 ,也就是最新的版本。

spring5 的整个代码都是基于 java8 的,自身作了不少的优化,比如许多不建议使用的类和方法已经在代码库中删除。

此外,spring5 框架自带了通用的日志封装,但是我们依然可以整合其他的日志框架使用,比如 Log4j。不过在 spring5 中移除了 Log4jConfigListener,需要使用 Log4j2。

一、引入依赖

引入相关 jar 包。

二、创建Log4j2 配置文件

文件名是固定的 log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,可以看到log4j2内部各种详细输出-->
<configuration status="INFO">
    <!--先定义所有的appender-->
    <appenders>
        <!--输出日志信息到控制台-->
        <console name="Console" target="SYSTEM_OUT">
            <!--控制日志输出的格式-->
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </console>
    </appenders>
    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
    <!--root:用于指定项目的根日志,如果没有单独指定Logger,则会使用root作为默认的日志输出-->
    <loggers>
        <root level="info">
            <appender-ref ref="Console"/>
        </root>
    </loggers>
</configuration>

现在就可以直接用起来了,执行一下之前的测试函代码:

2021-08-08 09:09:21.935 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
Process finished with exit code 0

可以在控制台看到,日志信息是根据上面配置的格式进行输出的。

三、手动进行单独的输出

也可以手动的输出一些我们指定的内容日志。

package com.pingguo.spring5.test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class UserLog {
    private static final Logger log = LoggerFactory.getLogger(UserLog.class);
    public static void main(String[] args) {
        log.warn("手动输出warning");
        log.error("手动输出error");
    }
}

执行一下:

2021-08-08 09:18:02.285 [main] WARN  com.pingguo.spring5.test.UserLog - 手动输出warning
2021-08-08 09:18:02.288 [main] ERROR com.pingguo.spring5.test.UserLog - 手动输出error
Process finished with exit code 0

以上就是Spring5新功能日志框架Log4j2整合示例的详细内容,更多关于Spring5整合Log4j2日志框架的资料请关注我们其它相关文章!

(0)

相关推荐

  • springboot log4j2日志框架整合与使用过程解析

    目录 一.引入maven依赖 二.添加配置文件log4j2-spring.xml 三.自定义配置文件 四.测试一下 一.引入maven依赖 Spring Boot默认使用LogBack,但是我们没有看到显示依赖的jar包,其实是因为所在的jar包spring-boot-starter-logging都是作为spring-boot-starter-web或者spring-boot-starter依赖的一部分.如果这里要使用Log4j2,需要从spring-boot-starter-web中去掉sp

  • spring boot整合log4j2及MQ消费处理系统日志示例

    目录 前言 1.添加相关jar依赖 2.系统log4j2.xml配置 3.添加处理日志的消息监听 前言 当系统的并发比较高的时候,日志的处理输出也是一种性能的开销负担,所以,选择一个中间件来处理消费日志必不可少! 下面是spring boot整合log4j2结合spring amqp来消费处理系统日志的实例,只需要简单的三步 1.添加相关jar依赖 <dependency> <groupId>org.springframework.boot</groupId> <

  • SpringBoot接入轻量级分布式日志框架(GrayLog)的流程分析

    目录 00.为什么需要分布式日志组件? 01.轻量级ELK(Graylog) 02.部署Graylog 03.SpringBoot使用GrayLog 04.懂点GrayLog 05.番外:Swagger 06.总结 我是3y,一年CRUD经验用十年的markdown程序员

  • Spring boot2.0 日志集成方法分享(1)

    目录 前言: 1.基本引用 2.基础配置 3.基本使用 前言: 项目开发中日志是不可缺少的一部分,通过日志能够定位和分析事故原因.目前流行日志框架包含了log4j.log4j2.logback等,另外 slf4j(Simple Logging Facade for Java) 则是一个日志门面框架,提供了日志系统中常用的接口,logback 和 log4j 则对slf4j 进行了实现.本文将讲述spring boot 中如何使用logback+slf4j实现日志. Java应用中,日志一般分为以

  • springboot使用log4j2异步日志提升性能的实现方式

    目录 一.引入disruptor 二. 全局异步模式 三.异步/同步混合模式 同步日志的业务流程处理和日志打印是在同一个线程,日志打印的过程实际上是写文件IO的过程,这个过程是相对耗时的,并且会阻塞主线程的执行,只有日志打印完成后才会继续执行业务处理代码.如果日志量比较大,会影响主业务流程的处理效率.异步日志实现方式:将日志存入一个单独的队列中,有一个单独的线程从队列中获取日志并写入磁盘文件. 日志放入队列的耗时,肯定比磁盘写IO文件耗时要少的多得多,所以对主业务流程影响极小. 一个单独的线程进

  • spring boot Slf4j日志框架的体系结构详解

    目录 前言 一.五花八门的日志工具包 1.1. 日志框架 1.2.日志门面 1.3日志门面存在的意义 二.日志框架选型 三.日志级别 四.常见术语概念解析 总结 前言 刚刚接触到java log日志的同学可能会被各种日志框架吓到,包括各种日志框架之间的jar总是发生冲突,另很多小伙伴头疼不已.那我们本篇的内容就是将各种java 日志框架发展过程,以及他们之间的关系,以及如何选型来介绍给大家. 一.五花八门的日志工具包 1.1. 日志框架 JDK java.util.logging 包:java.

  • Spring5新功能日志框架Log4j2整合示例

    目录 Spring5整合Log4j2日志框架 一.引入依赖 二.创建Log4j2 配置文件 三.手动进行单独的输出 Spring5整合Log4j2日志框架 本次系列的学习是基于 spring5 ,也就是最新的版本. spring5 的整个代码都是基于 java8 的,自身作了不少的优化,比如许多不建议使用的类和方法已经在代码库中删除. 此外,spring5 框架自带了通用的日志封装,但是我们依然可以整合其他的日志框架使用,比如 Log4j.不过在 spring5 中移除了 Log4jConfig

  • Java基础之spring5新功能学习

    一.前言 1.整个 Spring5 框架的代码基于 Java8 ,运行时兼容 JDK9,许多不建议使用的类和方 法在代码库中删除 2.Spring 5框架自带了通用的日志封装 Spring5 已经移除 Log4jConfigListener,官方建议使用 Log4j2 二.日志配置 jar包 <!-- 日志 --> <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --> <

  • Spring5新功能@Nullable注解及函数式注册对象

    目录 Spring5新功能 一.@Nullable 注解 1. 用在方法上 2. 用在参数上 3. 用在属性上 二.支持函数式风格 Spring5新功能 一.@Nullable 注解 @Nullable 注解可以使用在方法.属性.参数上,分别表示方法返回可以为空.属性值可以为空.参数值可以为空. 我们可以在源码里找到很多示例. 1. 用在方法上 方法的返回值可以为空. 2. 用在参数上 参数可以为空. 3. 用在属性上 属性值可以为空. 二.支持函数式风格 比如这里有一个类: public cl

  • Java日志框架用法及常见问题解决方案

    日志定义: 在计算机领域,日志文件(logfile)是一个记录了发生在运行中的操作系统或其他软件中的事件的文件,或者记录了在网络聊天软件的用户之间发送的消息. 日志记录(Logging):是指保存日志的行为.最简单的做法是将日志写入单个存放日志的文件. 日志级别优先级: ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 日志框架的作用: ①:跟踪用户对系统访问,记录了系统行为的时间.地点.状态等相关信息

  • SpringBoot2 集成log4j2日志框架的实现

    前言 Log4j2是 Log4j 的进化版本,并提供了许多 Logback 可用的改进,同时解决了 Logback 体系结构中的一些固有问题.而且日志处理中我们会用到kafka作为日志管道.而kafka客户端依赖与Logback的兼容不是很完美,你可以选择排除依赖冲突或者使用Log4j2 . <!-- more --> 排除Logback依赖 Spring Boot 2.x默认使用Logback日志框架,要使用 Log4j2必须先排除 Logback. <dependency> &

  • 新浪开源轻量级分布式RPC框架motan简单示例解析

    目录 前言 概述 功能 简单调用示例 在pom中添加依赖 为调用方和服务方创建公共接口 编写业务接口逻辑.创建并启动RPCServer 创建并执行RPCClient 集群调用示例 使用CONSUL作为注册中心 Motan-Consul配置 使用ZOOKEEPER作为注册中心 Motan-ZooKeeper配置 前言 好消息,支撑微博千亿调用的轻量级 RPC 框架 Motan 在2016年5月份正式开源了,业界现在除了Dubbo 和 DubboX典型的分布式RPC服务治理型框架外,又多了一个优秀的

  • ThinkPHP框架下整合支付宝支付功能图文教程

    本文实例讲述了ThinkPHP框架下整合支付宝支付功能.分享给大家供大家参考,具体如下: 背景 近期项目需要接入支付宝支付功能,其中开发使用了ThinkPHP3.2.3框架,通过参考开发平台文档可以知道,网站开发有两种场景,一种是手机网站支付,直接唤醒支付宝app进入支付操作:另一种多是 PC 端显示支付二维码的形式,然后使用手机的支付宝app扫描. 此处主要介绍手机网站支付的实现,后期补充扫码支付. 一.接入配置 1).接入步骤 根据"快速接入"中的流程,两者大同小异,都是进行: 第

  • Logback与Log4j2日志框架性能对比与调优方式

    目录 前言 性能测试 logback 同步日志 异步日志(队列扩容) 异步日志(半队列扩容) log4j2 同步日志 异步日志(队列扩容) 异步日志(日志淘汰策略) 异步日志(半队列扩容) 异步日志(等待策略) 性能调优 异步日志 日志可靠性 Logback Log4j2 日志抛弃策略 Log4j2 Logback 日志等待策略 TimeoutWaitStrategy YieldWaitStrategy 队列容量 Logback Log4j2 长度计算公式 消费瓶颈 消费TPS 请求TPS 消费

  • SpringBoot日志框架如何使用

    不管是开发过程中调试还是线上问题的定位追踪,日志都发挥着及其重要的作用.平时,我们会用System.out.println()打印一些信息到控制台,我们可以使用该语句输出日志,但是System.out会增加资源的消耗,所以最好使用日志框架打印日志信息. Java中的日志框架有JCL.Jboss-logging.slf4j.logback.log4j.log4j2等等,其中JCL.Jboss-logging.slf4j属于日志门面(日志的抽象),logback.log4j.log4j2是日志框架的

随机推荐