log4j 相关问题

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

正则表达式解析log4j日志格式

有没有可以解析log4j日志格式的正则表达式?特别考虑多行事件,例如java异常? 例如 2023-08-31 00:10:52,734 主要信息 FileManager 酷 2023-08-31 00:10...

回答 1 投票 0

Spring boot + slf4j + log4j + 类 org.apache.logging.slf4j.SLF4JLoggerContext 无法转换为类

我有Spring boot 2.3.1 pom.xml 我有Spring boot 2.3.1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>logger</groupId> <artifactId>logger</artifactId> <version>0.0.1-SNAPSHOT</version> <name>logger</name> <description>Demo project for Spring Boot</description> <properties> <java.version>11</java.version> <lombok.version>1.18.12</lombok.version> <log4j.version>1.2.17</log4j.version> <slf4j.version>1.7.30</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>logback-classic</artifactId> <groupId>ch.qos.logback</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 班级 @Slf4j @SpringBootApplication public class LoggerApplication { public static void main(String[] args) { log.info("++++++++++++++++++++++++TEST+++++++++++++++++++++++++++++"); SpringApplication.run(LoggerApplication.class, args); } } 应用程序.属性 logging.config=classpath:log4j.properties log4j.properties log4j.rootLogger=INFO, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n 我尝试寻找解决方案,查看论坛上的类似主题,尝试各种排除依赖项的选项。 线程“main”中的异常 java.lang.ClassCastException:类 org.apache.logging.slf4j.SLF4JLoggerContext 无法转换为类 org.apache.logging.log4j.core.LoggerContext (org.apache.logging.slf4j.SLF4JLoggerContext 和 org.apache.logging.log4j.core.LoggerContext 位于未命名模块中 加载器“应用程序”)位于 我还尝试排除一些依赖项 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>logback-classic</artifactId> <groupId>ch.qos.logback</groupId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> 但又出现错误,但现在无法再格式化日志了。 2021-01-13 19:12:15,881 信息 - ++++++++++++++++++++++++测试+++++++++++++++++++++++++++++++ 错误 StatusLogger 无法识别的格式说明符 [d] 错误 StatusLogger 无法识别的转换说明符 [d] 从转换模式中的位置 16 开始。 错误 StatusLogger 无法识别的格式说明符 [线程] 错误 StatusLogger 无法识别的转换说明符 [线程] 从转换模式中的位置 25 开始。 错误 StatusLogger 无法识别的格式说明符 [级别] 错误 StatusLogger 无法识别的转换说明符 [level] 从转换模式中的位置 35 开始。 ... 错误 StatusLogger 无法识别的格式说明符 [n] 错误 StatusLogger 无法识别的转换说明符 [n] 从转换模式中的位置 56 开始。 警告:不支持 sun.reflect.Reflection.getCallerClass。这会影响性能。 任何人都可以有任何想法如何解决它吗? 我找到了解决这个问题的方法。事实证明,问题出在其中一个私有库(elastik 的附加程序)的冲突上。 我执行了命令: mvn dependency:tree 然后找到传递依赖项,并将它们排除在所有类的路径上,以排除日志记录所需的库冲突。 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>logback-classic</artifactId> <groupId>ch.qos.logback</groupId> </exclusion> <exclusion> <artifactId>log4j-to-slf4j</artifactId> <groupId>org.apache.logging.log4j</groupId> </exclusion> </exclusions> </dependency> <dependency> <artifactId>springfox-boot-starter</artifactId> <groupId>io.springfox</groupId> <version>3.0.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${version.log4j.core}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency>

回答 1 投票 0

如何通过某些依赖注入来限制对象创建?

我正在创建一个具有自定义日志记录功能的类,该类在内部使用 Log4J。 如果某个类需要日志记录功能,我会将类的名称传递给此 LoggerObject 的构造函数。 我想要

回答 4 投票 0

无法初始化类org.apache.logging.log4j.util.PropertiesUtil

在 log4j-api-2.18.0.jar 文件中出现以下异常。但是,在 log4j-api-2.16.0.jar 中没有观察到它 运行时异常: java.lang.NoClassDefFoundError:无法初始化类...

回答 1 投票 0

使用 Tomcat 6 在 Spring Web 应用程序中设置 Commons Logging / Log4j 时出现问题

我在 tomcat 6 下部署的 apring web 应用程序中的日志记录设置有问题。 web应用程序使用commons-logging api,在运行时应该使用log4j。日志文件已创建但仍为空...

回答 7 投票 0

如何在 spring-boot 的记录器名称中不缩写源类名称?

当我运行 spring-boot 应用程序时,它显示以下日志: 2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:'

回答 1 投票 0

如何在 spring-boot 的记录器名称中不缩写源类名称?

当我运行 spring-boot 应用程序时,它显示以下日志: 2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:'

回答 1 投票 0

将 log4j.properties 转换为 log4j2.properties

我正在从 log4j 1.2 迁移到 log4j 2.22.0。 问题是我的项目包含一个 log4j.properties 文件,并且我在将其转换为 log4j2.properties 时遇到问题。我已经翻了很多盘了...

回答 1 投票 0

找不到log4j2配置文件

我在 Eclipse Kepler 中有一个 Java 项目,我正在尝试设置 log4j。我已使用 pom.xml 中的以下内容将其添加到项目中: org.apache.logging.log4j&...

回答 2 投票 0

无法输出到控制台log4j 2日志

我正在尝试在我的自动化框架项目的控制台中获取日志输出。 我尝试使用不同的设置、依赖项和方法来做到这一点。 我正在使用 java + maven + selenide。 我添加了这些

回答 1 投票 0

BIRT 日志级别和详细信息

我知道BIRT的日志级别有OFF、SEVERE、WARNING、INFO、CONFIG、FINE、FINER和FINEST。但是是否有一个文档可以显示哪个级别记录了哪些事件以及格式...

回答 1 投票 0

仅在请求超过阈值时记录

我有一个带有 log4j 的 spring 项目。我要求仅当请求超过某个阈值时才写入日志。有没有办法配置 log4j 仅在请求时间超出时才写入日志...

回答 1 投票 0

Java 和 Spark 更新后的记录器类问题

我知道有关此异常的类似问题,但是他们都没有解决我的问题。 我有一个java应用程序。最近我不得不从 Java 17 升级到 21,这导致也升级

回答 1 投票 0

降低 Spark Streaming Info 日志的频率

当我部署 Spark Streaming 作业并通过 Spark2-submit 运行它时,我每秒都会收到这样的日志消息: 21/02/24 21:45:27 INFO yarn.Client: application_1612163470992_382017 ...

回答 1 投票 0

Logback:为开发和生产环境添加不同级别的新日志

我想添加新的日志文件myNewLog.log,我不会在不同的环境中使用不同的记录器级别而不影响现有的日志。开发环境和生产环境的级别是

回答 2 投票 0

LoggerFactory 不是 Logback LoggerContext,但 Logback 位于类路径上。在 Wildfly 上部署 Spring-Boot 应用程序

我正在尝试使用 .war 在 Wildfly 服务器上部署 Spring-Boot Vaadin java 应用程序。 不幸的是我总是收到此错误消息: 2022-04-28 00:23:18,113 错误 [org.jboss.as.controller。

回答 2 投票 0

使用 IDE / pyspark shell 配置 log4j 以使用属性文件登录到控制台和文件

在我的笔记本电脑(Ubuntu 盒子)上的开发环境中,我编写了“pyspark 代码”并通过 pytest 运行它进行测试。我注入使用 SparkSession.builder.getOrCre 创建的 Spark 会话...

回答 1 投票 0

使用正则表达式解析log4j日志文件

我创建了一个java应用程序,用于使用正则表达式解析log4j日志文件,该应用程序对于我在下面显示的日志工作正常 1999-11-27 15:49:37,459 [线程-x] E...

回答 3 投票 0

如何防止 Java 中不受支持的库利用 CVE

您好,这个精彩的社区。我有一个基本问题,假设我们有一个使用库 x 的应用程序,并且我们选择使用 Maven 存储库中该库的最新稳定版本。 L...

回答 1 投票 0

如何使用Tomcat 8.5.15配置log4j2

我在 $CATALINA_HOME/lib 下有 log4j2 jar: log4j-api-2.10.0.jar log4j-core-2.10.0.jar log4j-jul-2.10.0.jar 导出 JAVA_OPTS="${JAVA_OPTS} -Djava.util.logging.manager=org.apache.logging.log4j...

回答 5 投票 0

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