log4j 相关问题

log4j是一种流行的基于Java的日志记录实用程序。它是Apache Software Foundation的一个项目,并根据Apache软件许可证2.0版获得许可

ClassNotFoundException:org.apache.logging.log4j.Logger 与 Tomcat10 和 Jakarta

我有一个 Web Servlet (6.0) 在 Eclipse 和 Java 11 中的 Tomcat 10.1 上运行,我刚刚将其迁移到雅加达。在编译时,一切都很好,但在运行时,Tomcat 不断给我以下信息...

回答 1 投票 0

防止在 Struts 2 中记录映射异常

使用 Struts 2,我使用“异常映射”(成功)映射操作的异常,但希望阻止 Struts 将映射的异常记录到我的错误日志中。 我试过了...

回答 1 投票 0

如何覆盖默认的Log4j xml配置文件名?

我们正在将应用程序从标准 tomcat 实例迁移到在使用 ELK 进行日志管理的容器中运行的应用程序。我们有部署属性的作业(包括我们的日志......

回答 1 投票 0

Log4j 不会在删除时重新创建文件

我在 Tomcat 中有一个使用 log4j 进行日志记录的 Web 应用程序。 如果我在 Web 应用程序运行时删除日志文件,文件不会重新创建吗? 我如何配置 log4j 来重新创建...

回答 5 投票 0

错误 StatusLogger Log4j2 找不到日志记录实现。请将 log4j-core 添加到类路径中。使用 SimpleLogger

我正在使用自定义 log4j2 库 - 公司库,公司特定的,我从 Maven 项目创建了 fat jar 并尝试运行代码命令行 java -jar“目标 bc-0.0.1-SNAPSHOT.jar&q...

回答 2 投票 0

有什么方法可以跳过或禁用 exe4j 中 stderr 属性的特定 java 类文件的一些错误日志

基本上我创建了一个 .exe 文件,并且在 exe4j 文件中启用了重定向 stderr 以打印提供的文件路径上的错误日志。但是从该日志中我不想打印外部 jar 日志

回答 1 投票 0

Lo4j2类级别记录器的日志记录级别不生效

我有点困惑为什么我的 log4j2 日志级别和附加程序似乎没有按我的预期工作。让我提供详细信息。 项目结构: 主要.java: 包 com.my.sample.MySampleProject; 导入组织。

回答 1 投票 0


Log4j 日志未显示在控制台中

我有一个 Spring Boot Gradle 项目,我正在尝试配置日志记录方面以在控制台中显示日志。但是,当我运行我的应用程序时,日志不会出现,并且我无法检测...

回答 1 投票 0

Log4j2 配置中的“状态”是什么意思?

我刚刚完成log4j2.xml配置文件的调整,发现了一些我不太明白的东西。 那么是什么? 几乎全部

回答 1 投票 0

Oracle DB loadjava 错误 (ORA-29509):Java 二进制类定义格式不正确

我正在尝试将外部库(log4j-api 版本 2.21.0)导入数据库,但出现以下错误: 调用 dbms_java.loadjava('-resolve -force -debug -fileout /home/usr/out.txt -verbose /

回答 1 投票 0

java.lang.ClassNotFoundException:ch.qos.logback.core.util.StatusListenerConfigHelper

此错误背后的原因可能是什么? 我们什么时候会收到这个错误? slf4j jar 已经在包中 java.lang.NoClassDefFoundError: ch/qos/logback/core/util/StatusListenerConfigHelper ...

回答 1 投票 0

如何开始使用 Chainsaw for Log4j?

我想开始使用 Chainsaw v2。几乎没有关于它的信息。我只找到了这个,但是链接打不开,所以不清楚。 我使用socketAppender: log4j.rootLogger=调试,

回答 3 投票 0

Log4j2 无法在 WebLogic 12.2.1 中工作

我正在尝试在 WebLogic 12.2.1 下运行的 Web 服务中添加 log4j 日志记录,但不知何故日志记录不起作用。 这是WEB-IN中的log4j2.xml

回答 0 投票 0

如何配置log4j为同一个记录器将不同的日志级别记录到不同的文件

我有一个正常的INFO级别日志用于应用程序。我需要的是另外将所有错误级别事件记录到单独的错误日志中。我正在使用这样的配置: 我有一个正常的 INFO 级别的应用程序日志。我需要的是另外将所有错误级别事件记录到单独的错误日志中。我正在使用这样的配置: <logger name="com.acme"> <level value="error"/> <appender-ref ref="error"/> </logger> <logger name="com.acme"> <level value="info"/> </logger> <root> <level value="warn"/> <appender-ref ref="general"/> </root> 此配置仅记录错误。如果我首先放置信息级别记录器,那么它将仅记录到通用附加程序,但错误记录器将不起作用。我想让他们俩都工作。 您需要做的是拥有一个具有定义的 INFO 级别的 <logger> 定义,但在两个附加程序定义中,您可以相应地设置它们的阈值,例如 <appender name="ERROR_FILE"> <param name="Threshold" value="ERROR"/> </appender> <appender name="GENERAL"> <param name="Threshold" value="INFO"/> </appender> 然后将两个附加程序添加到记录器中: <logger name="com.acme"> <level value="INFO"/> <appender-ref ref="ERROR_FILE"/> <appender-ref ref="GENERAL"/> </logger> 现在进入记录器的日志条目将被发送到两个附加程序,但由于它们具有不同的独立阈值,因此 ERROR_FILE 附加程序将仅记录错误及以上错误。 完整的工作解决方案,包括文件名中的日期: <appender name="InfoFileAppender" class="org.apache.log4j.rolling.RollingFileAppender"> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="FileNamePattern" value="/var/output/Info_%d{ddMMyyyy}.log" /> </rollingPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p %t %c{2} - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="levelMin" value="INFO" /> <param name="levelMax" value="INFO" /> </filter> </appender> <appender name="ErrorFileAppender" class="org.apache.log4j.rolling.RollingFileAppender"> <param name="Threshold" value="ERROR" /> <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> <param name="FileNamePattern" value="/var/output/Error_%d{ddMMyyyy}.log" /> </rollingPolicy> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p %t %c{2} - %m%n" /> </layout> </appender> <root> <level value="INFO" /> <appender-ref ref="InfoFileAppender" /> <appender-ref ref="ErrorFileAppender" /> </root> 您需要使用log4j过滤器: <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="levelMin" value="ERROR" /> <param name="levelMax" value="ERROR" /> </filter> 这样,您可以为每个级别单独创建日志文件。 如果您使用 log4j2 并使用 XML 格式进行配置,ThresholdFilter 是一个很好的解决方案。 这是一个示例: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout> <Pattern>%d %-5p %m%n</Pattern> </PatternLayout> <ThresholdFilter level="DEBUG"/> </Console> <RollingFile name="RollingDebugLogFile" fileName="logs/app-debug.log" filePattern="logs/$${date:yyyy-MM}/app-debug-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout> <Pattern>%d %-5p %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="20MB"/> </Policies> <ThresholdFilter level="DEBUG"/> </RollingFile> <RollingFile name="RollingErrorLogFile" fileName="logs/app-error.log" filePattern="logs/$${date:yyyy-MM}/app-error-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout> <Pattern>%d %-5p %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="20MB"/> </Policies> <ThresholdFilter level="ERROR"/> </RollingFile> <RollingFile name="RollingInfoLogFile" fileName="logs/app-info.log" filePattern="logs/$${date:yyyy-MM}/app-info-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout> <Pattern>%d %-5p %m%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="20MB"/> </Policies> <ThresholdFilter level="INFO"/> </RollingFile> </Appenders> <Loggers> <Logger name="testLogger" level="DEBUG" additivity="false"> <AppenderRef ref = "Console" /> <AppenderRef ref="RollingErrorLogFile" /> <AppenderRef ref="RollingInfoLogFile" /> <AppenderRef ref="RollingDebugLogFile" /> </Logger> <Root level="INFO"> <AppenderRef ref = "Console" /> <AppenderRef ref="RollingErrorLogFile" /> <AppenderRef ref="RollingInfoLogFile" /> <AppenderRef ref="RollingDebugLogFile" /> </Root> </Loggers> </Configuration> 实际上,您可以使用 .properties 文件来做到这一点;您不必使用 .xml 文件: 仅记录警告 log4j.appender.appenderName.filter.a=org.apache.log4j.varia.LevelRangeFilter log4j.appender.appenderName.filter.a.LevelMin=WARN log4j.appender.appenderName.filter.a.LevelMax=WARN 从 INFO 登录到 WARN log4j.appender.appenderName.filter.a=org.apache.log4j.varia.LevelRangeFilter log4j.appender.appenderName.filter.a.LevelMin=INFO log4j.appender.appenderName.filter.a.LevelMax=WARN

回答 5 投票 0

Log4j ThreadContext MultiThread 不会继承

我遇到这个帖子的问题 这是我的代码示例 公共类 StackOverflow 实现 RequestHandler, ApiGatewayResponse> { 私有静态最终记录器 LO...

回答 3 投票 0

如何在 log4j2 中为自定义记录器编写单元测试

我创建了几个自定义记录器,其某些级别覆盖了 Log4J2 中的自定义记录器。我已按照 http://logging.apache.org/log4j/2.x/manual/customloglevels.html 上的指南进行操作。 我需要...

回答 4 投票 0

如何禁用 TestNG 控制台日志记录 [main] INFO org.testng.internal.Utils -

我有一个使用 Selenium、TestNG 和 Log4j 进行日志记录的自动化框架。运行测试时,TestNG 会在控制台生成一个我想禁止的特定日志。日志消息是: [...

回答 1 投票 0

如何确保log4j2与jboss服务器一起工作?

我正在将 log4j 从 v1.2.12 升级到 v2.17.2,以用于在 jboss-esp-7.2 服务器上运行的应用程序。更新依赖项和类后,如果我部署在服务器上,我看到日志不是

回答 1 投票 0

Spark Streaming 和集中式日志记录:将 executorId 添加到日志中

我正在尝试为 Spark 流应用程序设置集中式日志记录。我的具体用例是将驱动程序和执行程序日志导出到 AWS CloudWatch 日志,但我认为我的部分问题是

回答 1 投票 0

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