log4j2 相关问题

Log4j 2是Log4j的升级版,Log4j是一个基于Java的日志记录实用程序,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些固有问题。

c3p0 log4j2 实现

我继承了一个java tomcat web项目,我正在尝试启用c3p0日志记录,但我无法让它为我工作。 我正在使用 c3p0 和 jdbc 驱动程序 com.microsoft.sqlserver.jdbc。

回答 1 投票 0

log4j2 - JVM 输入参数查找 (jvmrunargs) 不起作用

我刚刚开始尝试log4j2(我之前一直在使用log4j 1.2.X)。除了试图找出配置文件(log4j2.xml)所需/有效的挫败感之外,我还有

回答 1 投票 0

使用 log4j2.xml 进行 Elasticsearch 配置

我正在使用新的 PreBuiltTransportClient(Settings.EMPTY) 初始化 elasticsearch 客户端;我有以下配置: pom.xml org.apache.logging.log4...

回答 1 投票 0

log4j2 缺少测微仪 TraceId 和 spanId

将应用程序从 Spring Boot 2.7 迁移到 3.1.5 后,我无法将 TraceId 和 spanId 记录到记录器。 我将 sleuth 迁移到 micromerter,如迁移指南中所述,并编辑了 log4j2...

回答 1 投票 0

Log4j 2 lambda“惰性日志记录”

Log4j 2 手册给出了如何使用 lambda 进行“惰性日志记录”的示例: logger.trace("某些长时间运行的操作返回了 {}", () -> luckyOperation()); 它还给出了一个例子 h...

回答 2 投票 0

将动态值传递给 log4j2 xml 配置

我正在尝试使用log4j2编写一个日志模块,需要将日志以json的形式写入控制台STDOUT。 为此,我尝试使用 JSON 形式的 PatternLayout,如下所示。 我有...

回答 2 投票 0

Log4J2 属性替换 - 默认

我只是想知道是否有任何方法可以为LOG4J中的属性替换提供默认值? 我想在 java 系统属性中传递文件路径,然后将其与“${env:mySystemProperty}”一起使用。但是...

回答 2 投票 0

LOG4J2:多个记录器,到多个附加程序,处于不同的日志记录级别

我想做的事情非常简单: 我想做的事情非常简单: <?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <Console name="Console"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <File name = "hibernateFile" fileName = "${artifactId}/logs/hibernate.log"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </File> <File name = "springFile" fileName = "${artifactId}/logs/spring.log"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </File> <File name = "rootFile" fileName = "${artifactId}/logs/root.log"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </File> </Appenders> <Loggers> <Root level="trace"> <AppenderRef ref="Console"/> <AppenderRef ref="rootFile"/> </Root> <Logger name ="org.springframework" level = "debug"> <AppenderRef ref = "Console" level = "info"/> <AppenderRef ref = "springFile" level = "debug"/> </Logger> <Logger name ="org.hibernate" level = "debug"> <AppenderRef ref = "Console" level ="info"/> <AppenderRef ref = "hibernateFile" level = "debug"/> </Logger> </Loggers> </Configuration> 我希望只在我的控制台附加程序上显示重要消息,而我希望将详细消息路由到文件附加程序。 但是,我不想过滤附加程序本身 - 因为我可能想在那里路由一些调试或跟踪消息(例如,当我在开发中时)。 The Apache FAQ 建议我可以通过 AppenderRef 上的日志记录级别进行过滤,但我已经尝试过这样做,如上面的 xml 中所述 - 它仍然将 DEBUG 级别消息路由到控制台。 我还尝试向 AppenderRef 添加 ThresholdFilter,但这也不会过滤它。 <Logger name ="org.hibernate" level = "debug"> <AppenderRef ref = "Console"> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> </AppenderRef> <AppenderRef ref = "hibernateFile" level = "debug"/> </Logger> additivity="false"应该可以解决问题: <Logger name="org.hibernate" level="debug" additivity="false"> additivity 控制日志事件是否仍转发到根记录器。

回答 1 投票 0

Log4j2 不同级别的不同附加器

我有一个小问题,找不到解决方案。我想为级别信息而不是级别警告设置图案布局。如果我的登录级别为 INFO,则一切正常,但如果日志级别为 WA...

回答 1 投票 0

如何仅为特定类配置log4j2.xml日志级别?

在 log4j 中,可以按包定义日志级别,如下所示: 在 log4j 中,可以通过 package 定义日志级别,如下所示: <logger name="org.springframework.web.servlet.mvc.method.annotation" level="info"> <AppenderRef ref="CONSOLE" /> </logger> Questin:如何仅定义特定类的日志记录? (例如org.springframework.web.servlet.mvc.method.annotation.EndpointHandlerMapping)?如果我只是将其放入 <logger name 属性中,则不会再记录任何内容。 它也应该与完全限定名称一起使用。 Logger.name 不必只是包/类,但它可以是您想要的任何名称。当你调用 LoggerFactory.getLogger("MyLogger") 时,那么你必须使用 <Logger name="MyLogger" level="info"> <AppenderRef ref="CONSOLE"/> </Logger> 检查使用记录器进行包时记录的内容并使用日志中的记录器名称。 该类记录的记录器名称是什么?

回答 1 投票 0

LOG4J json-template-layout - 添加所有标题

我一直在尝试在标头对象下添加http标头,但我似乎无法让它按照我想要的方式使用json模板布局工作。下面的方法有效,但它还添加了所有元素...

回答 1 投票 0

如何使用log4j2.properties文件打印参数以及Hibernate 5.4生成的sql

以下是我的log4j2.properties文件的内容。它打印sql但不打印参数。如何添加 org.hibernate.type=trace 或类似的内容来打印参数? 附加器 = con...

回答 2 投票 0

当所有 Kafka Broker 都不可用时,Log4j2 kafka 附加程序故障转移处理?

我正在使用 Log4j2 Kafka 附加程序将所有应用程序日志发送到 Kafka,并且它可以工作。但在某种情况下,当我故意关闭代理时,应用程序会挂起,kafka

回答 1 投票 0

log4j2 自定义附加程序在 proguard 后无法工作

应用 proguard 后出现以下错误。 用于 proguard 的 -injar 没有收到错误。 通过跳过所有类(包括来自混淆的依赖项)来检查错误...

回答 1 投票 0

如何仅为java spring boot项目中的某些特定日志消息添加额外的字符串或键/值对

在我的 Spring Boot 应用程序中,我们需要仅为某些特定的日志消息添加额外的标签(键/值对),以突出显示这些是一些特殊用途的日志,而不是其他日志。 项目日志...

回答 2 投票 0

发现错误:未找到 SLF4J 提供程序。和默认无操作(NOP)记录器实现

我的日志文件未生成我在启动我的 Spring Boot 应用程序时遇到上述错误。请帮我解决。 org.springframework.boot 我的日志文件未生成我在启动我的 Spring Boot 应用程序时遇到上述错误。请帮我解决。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.3</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.4</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.squareup.okio</groupId> <artifactId>okio</artifactId> <version>3.5.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servlet-api.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2.1-b03</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20230227</version> </dependency> <!-- <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.2</version> </dependency> <!-- <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.10.0</version> </dependency> <!-- ADDED --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency> <!-- ADDED --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <scope>runtime</scope> <version>1.5</version> </dependency> <dependency> <groupId>org.onosproject</groupId> <artifactId>jnc</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.15.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <exclusions> <exclusion> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.snmp4j</groupId> <artifactId>snmp4j</artifactId> <version>2.5.11</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.influxdb</groupId> <artifactId>influxdb-java</artifactId> <version>2.22</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-multipart</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> </dependency> <!-- <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring5</artifactId> <version>2.35</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-common</artifactId> <version>2.35</version> </dependency> --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>32.1.1-jre</version> </dependency> <dependency> <groupId>com.github.seancfoley</groupId> <artifactId>ipaddress</artifactId> <version>5.3.3</version> </dependency> <dependency> <groupId>com.snmp4j.smi</groupId> <artifactId>snmp4j-smi-pro</artifactId> <version>1.9.5</version> <scope>system</scope> <systemPath>${project.basedir}/lib/snmp4j-smi-pro-1.9.5.jar</systemPath> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.5</version> </dependency> <!-- spring-kafka --> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>org.xerial.snappy</groupId> <artifactId>snappy-java</artifactId> <version>1.1.10.1</version> </dependency> </dependencies> 我使用的是 Spring Boot 3.1.3。 log4j 的所有依赖项均已添加 但我仍然面临这个问题。尽管我尝试添加 log4j-sl4j -impl 依赖项来将 sl4j 与 log4j2 绑定。 CLI PRINTS WHEN STARTED MY APPLICATION SLF4J: No SLF4J providers were found. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details. Sep 26, 2023 7:39:23 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["https-jsse-nio-127.0.0.1-9005"] Sep 26, 2023 7:39:23 AM org.apache.catalina.core.StandardService startInternal INFO: Starting service [Tomcat] Sep 26, 2023 7:39:23 AM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet engine: [Apache Tomcat/10.1.12] ^C D:\consolelog\cmsnfv\cms_service\OamManager\target>MLog initialization issue: slf4j found no binding or threatened to use its (dangerously silent) NOPLogger. We consider the slf4j library not found. 尝试不排除 Spring Boot 日志记录,它具有实际的日志记录实现。只需删除以下行: <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> 正如这里所解释的那样 SLF4J只是一个Facade,你的类路径上需要一个实际的实现库

回答 1 投票 0

运行log4j2 jar 时出现错误

在intellij idea中运行项目时出现错误。当我将项目收集到 jar 文件并运行它时,它就会出错。 如果配置文件正确的话可能是什么问题? 错误

回答 1 投票 0

有没有办法重写Log4j2的JsonTemplateLayout的ExceptionResolver

使用 SpringBoot + OpenTelemetry,每个异常的堆栈跟踪都会运行到 100 行。除了最上面几行之外的大多数行通常对于解决问题没有用处。默认

回答 1 投票 0

原因错误 递归调用附加程序。有办法解决吗?

出现以下错误消息。 错误递归调用附加器 file_appender Log4j2 - AppenderControl.isRecursiveCall() @性能敏感 私有布尔 isRecursiveCall() { 如果(

回答 1 投票 0

为什么log4j过滤器在appender中不起作用

我创建了一个自定义过滤器,如下所示: @Plugin(name = "EmptyMessageFilter", 类别 = Node.CATEGORY, elementType = Filter.ELEMENT_TYPE, printObject = true) 公开课

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.