当前位置: 首页 > 知识库问答 >
问题:

避免将日志 4j 转换为 slf4j 以自动下载

阴雪风
2023-03-14

我有一个项目,其中log4j到slf4j-2.17.1.jar作为依赖项的一部分自动下载。我还添加了排除标记。但仍然在下载它。

需要注意的是,我在pom.xml.的属性标签中指定了log4j2版本,它正在下载log4j-api-2.17.1.jar(这是预期的)log4j-to-slf4j-2.17.1.jar(这不是必需的)。

有没有解决这个问题的办法?请注意,我已经检查过,jar在类路径中也不可用。

pom.xml中的排除:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <version>2.17.1</version>
        </exclusion>
    </exclusions>
</dependency>

类路径:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="test" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

共有1个答案

慕容铭
2023-03-14

log4j-api不依赖于log4j-to-slf4j,因此在log4j-api中添加排除不会做任何事情。

使用<code>mvn依赖项:树

 类似资料:
  • 我正在使用logback.xml实现SLF4J日志记录,但应用程序正在创建多个日志文件。我需要为一个日期创建一个单一的日志文件,所有的日志级别都在相同的日志文件中。 下面是我的logback.xml配置。

  • 问题内容: 我注意到Gson将字符串“ <”转换为JSON输出中的Unicode转义序列。您是否可以避免这种情况,还是必须始终在JSON中转义“ <”和“>”之类的字符? 考虑下面的示例:我只想 。 上下文:我正在创建的JSON片段与HTML页面甚至JavaScript无关;它只是用来将某些结构化信息传递给另一软件(嵌入在设备中,用C编写)。 问题答案: 您需要禁用HTML转义。

  • 我试图计算一个百分比值,如下所示,其中和是整数: 但是我收到一个警告,上面写着“避免使用as”。我想百分比是整数类型。如何重写此内容以避免使用“as”?

  • 主要内容:日志记录框架概述,记录器对象,严重程度在编程中的日志是指记录活动/事件。通常,应用程序开发人员应该负责日志记录。 为了使日志记录更容易,Java提供了各种框架 - log4J,java.util.logging(JUL), tiny log,logback等。 日志记录框架概述 日志框架通常包含三个元素 - 记录仪 - 捕获消息和元数据。 格式化 - 格式化记录器捕获的消息。 处理器 - 或最终通过在控制台上打印或通过存储在数据库中或

  • 我的代码中有以下日志记录语句。 这将打印我的日志,如下所示, 2019-02-25 16:27:45,460调试[fileTaskExecutor-2][A.abc.MySampleApp.Handlers.UserRecordHandler][MY_SAMPLE_APP][Vijay-20190225-162738.Trigger][]userRuntimeId=3051AA39-2E0A-11

  • 问题内容: 因此,我所处的状态是以PDF格式发布了一堆数据,但更糟糕的是,大多数(全部?)PDF似乎都是在Office中键入的字母,打印/传真然后进行扫描(我们的政府最好吗?)。起初我以为自己疯了,但后来我开始看到大量“倾斜”的pdf文件,就像有人没有正确将它们放在扫描仪上一样。因此,我想从中获得实际文本的下一个最佳方法就是将每一页变成一张图像。 显然,这需要自动化,如果可能的话,我宁愿使用Pyt