首页 > 其他分享 >Log4j2 结合 SLF4J 使用

Log4j2 结合 SLF4J 使用

时间:2023-11-27 19:26:08浏览次数:50  
标签:log4j2 slf4j SLF4J 结合 org 日志 Log4j2 log4j

Log4j2 结合 SLF4J 使用

了解使用 SLF4J API 配置 Log4j2 日志记录。
我们将查看所需的依赖项、示例配置和使用日志语句的演示。

一、Log4j2 和 SLF4j 绑定依赖

为了使 Log4j2 与 SLF4J 一起工作,我们需要包含以下 3 个依赖项。

  • log4j-slf4j-impl.jar – Log4j 2 SLF4J 绑定。 它允许编码为 SLF4J API 的应用程序使用 Log4j2 作为实现。
  • log4j-api.jar – 为实现类提供创建日志记录实现所需的适配器组件接口。
  • log4j-core.jar – 核心 Log4j 实现类。

1. Maven 依赖

pom.xml

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.22.0</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.22.0</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.22.0</version>
</dependency>

2. gradle 依赖

build.gradle

dependencies {
  compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0'
  compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0'
  compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.20.0'
}

二、日志文件配置

可以使用文件类型为: log4j2.properties、log4j2.xml 或 log4j2.json 文件,用于配置所需的记录器和附加程序。
将配置文件放置在资源文件夹或应用程序类路径中。 所有日志语句都将使用这些记录器进行记录。

我们以 XML 配置为例,并使用控制台日志记录进行演示。 您也可以使用其他有用的日志记录模式之一。

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
    <Properties>
        <Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n</Property>
    </Properties>
 
    <Appenders>
        <Console name="console" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
    </Appenders>
 
    <Loggers>
        <Root level="info">
            <AppenderRef ref="console"/>
        </Root>
    </Loggers>
</Configuration>

三、例子

使用类 Logger 和 LoggerFactory 在应用程序代码中编写日志语句。 这两个类都来自包 org.slf4j。

// Main.java

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
  public static void main(final String[] args)
  {
      Logger logger = LoggerFactory.getLogger(Main.class);
      logger.info("Hello World !!");
  }
}

运行 main() 方法并观察控制台中的输出:

2021-12-13 22:08:14 INFO  Main - Hello World !!

以上就是 log4j2 和 slf4j 配置示例的全部内容。







Ref

标签:log4j2,slf4j,SLF4J,结合,org,日志,Log4j2,log4j
From: https://www.cnblogs.com/eddyz/p/17860196.html

相关文章

  • SpringBoot+Flowable 完美结合,优雅实现工作流!
    1.2工作流是什么工作流,是把业务之间的各个步骤以及规则进行抽象和概括性的描述。使用特定的语言为业务流程建模,让其运行在计算机上,并让计算机进行计算和推动。工作流是复杂版本的状态机。2、BPMN2.0协议......
  • Python爬虫如何与机器学习相结合
    随着互联网技术的发展,数据已经成为了人类社会中不可或缺的一部分。在这样的背景下,Python爬虫和机器学习成为了两个非常有用的工具。Python爬虫可以用于数据采集和处理,而机器学习则可以用于模型训练和预测。本文将介绍如何将Python爬虫和机器学习相结合,以实现更加高效的数据处理和分......
  • 配置Slf4j
    1、maven添加<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><dependency><groupId>org.slf4j</groupId>......
  • 刘金玉QT学习笔记:6-sqlite简易入门+QT结合使用
    //第一篇,测试一下1.Sqlite-linux自带-轻量级-关系型数据库2.安装-进入官网后点击Downloads-下载下图的两个zip,解压后把里面的文件放到C盘下自创一个sqlite的文件夹3.通过命令行使用sqlite3.exe来使用数据库-配环境变量作用:不用进入路径位置就可以打开(sqlite)4.基本......
  • ESMapV结合BIM、GIS、三维建模、IOT实现数字孪生智慧桥梁、挠度监测、沉降监测、桥梁B
    前言传统桥梁管养模式陈旧,仍存在数据分散难归口、管养时间人力成本高、病害危情信息异步等弊端现象,潜在安全隐患俨然成为桥梁防护的一颗不定时炸弹。随物联网、信息化、数字孪生技术成熟发展,以三维数字镜像桥梁为孪生底座,打造全息感知预警为先、及时干预处置为主,复盘总结为后的精......
  • Airtest结合Poco对控件实施精准截图,学起来!
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途1.前言最近在Q群内发现有个小伙伴提出了一个很有趣的脚本需求,想要实现“通过选择器获取到了控件,然后截图这个控件范围”,根据我们的Airtest的局部截图接口以及poco......
  • 高中向量点乘为什么不满足结合律 和 向量投影
    因为向量点乘不是个群。向量点乘会导出一个标量,这很奇怪但也不奇怪。三个向量放在一起的话,其中会有两个组合在一起变成标量,以后的运算就不是点乘,而是数乘了。 若v向量为单位向量,则结果为uv向量的点积(标量)*v向量.    -----不满足结合律 即:某个方向力u,在v方向......
  • AppLink结合金蝶云星空作订单信息同步流程
    此次通过AppLink,根据请求数据金蝶云星空做销售订单信息同步拉取在获取订单信息前需要得到金蝶云星空授权,详细授权步骤可查看:金蝶云星空授权指南根据请求数据在金蝶云星空保存销售订单当webhook接收到数据时触发流程步骤1:根据webhook的请求数据构建金蝶云星空表单查询的过滤条件步骤......
  • 通用 log4j2 日志模板
    通用log4j2日志模板 <?xmlversion="1.0"encoding="UTF-8"?><!--配置项集属性status指明全局的最低日志级别。属性monitorInterval指明监控日志变化的时间间隔。这里指明了日志级别为debug,监控日志文件变化的周期是30毫秒格式:%m输出的......
  • 【记一次渗透测试无意发现的log4j2】
    【告警发现】在测一个迎新网站的时候发现态势告警dnslog家族请求,看了一下态势感知mmp,我还没测出洞来呢咋服务器自己请求*kmbs6r7ovd.burpcollaborator.net日志了, 根据域名搜了一下日志没有发现,然后看了一下服务器的相关日志,在告警服务器请求bp域名之前是“ApacheLog4j2远程......