log4j是一种流行的基于Java的日志记录实用程序。它是Apache Software Foundation的一个项目,并根据Apache软件许可证2.0版获得许可
Spring Boot 跟踪执行器正在记录出站请求中包含密码的 HTTP 正文
MultiValueMapmap = new LinkedMultiValueMap(); map.set("用户名", "user1"); map.set("密码", "通过...
我正在开发一个项目,该项目使用大量使用 log4j 的遗留库。我想知道 log4j 的所有类都在桥中支持(无操作类很好,我最关心的是......
我在 springboot 中有一个 REST 端点,它使用 CompleteableFuture 调用外部 api 异步多个。在Completeablefuture.supplyAsync(() =>
Log4j 1.x 到 2.x 的 JDBCAppender 迁移
我正在尝试将应用程序从 log4j v1.2 迁移到 v2.17。在该应用程序中,他们通过导入在 Java 中使用 JDBCAppender,并将其扩展为一个类并执行一些操作。 嗬...
有没有可以解析log4j日志格式的正则表达式?特别考虑多行事件,例如java异常? 例如 2023-08-31 00:10:52,734 主要信息 FileManager 酷 2023-08-31 00:10...
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>
我正在创建一个具有自定义日志记录功能的类,该类在内部使用 Log4J。 如果某个类需要日志记录功能,我会将类的名称传递给此 LoggerObject 的构造函数。 我想要
无法初始化类org.apache.logging.log4j.util.PropertiesUtil
在 log4j-api-2.18.0.jar 文件中出现以下异常。但是,在 log4j-api-2.16.0.jar 中没有观察到它 运行时异常: java.lang.NoClassDefFoundError:无法初始化类...
使用 Tomcat 6 在 Spring Web 应用程序中设置 Commons Logging / Log4j 时出现问题
我在 tomcat 6 下部署的 apring web 应用程序中的日志记录设置有问题。 web应用程序使用commons-logging api,在运行时应该使用log4j。日志文件已创建但仍为空...
如何在 spring-boot 的记录器名称中不缩写源类名称?
当我运行 spring-boot 应用程序时,它显示以下日志: 2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:'
如何在 spring-boot 的记录器名称中不缩写源类名称?
当我运行 spring-boot 应用程序时,它显示以下日志: 2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean:映射过滤器:'
将 log4j.properties 转换为 log4j2.properties
我正在从 log4j 1.2 迁移到 log4j 2.22.0。 问题是我的项目包含一个 log4j.properties 文件,并且我在将其转换为 log4j2.properties 时遇到问题。我已经翻了很多盘了...
我在 Eclipse Kepler 中有一个 Java 项目,我正在尝试设置 log4j。我已使用 pom.xml 中的以下内容将其添加到项目中: org.apache.logging.log4j&...
我正在尝试在我的自动化框架项目的控制台中获取日志输出。 我尝试使用不同的设置、依赖项和方法来做到这一点。 我正在使用 java + maven + selenide。 我添加了这些
我知道BIRT的日志级别有OFF、SEVERE、WARNING、INFO、CONFIG、FINE、FINER和FINEST。但是是否有一个文档可以显示哪个级别记录了哪些事件以及格式...
我有一个带有 log4j 的 spring 项目。我要求仅当请求超过某个阈值时才写入日志。有没有办法配置 log4j 仅在请求时间超出时才写入日志...
我知道有关此异常的类似问题,但是他们都没有解决我的问题。 我有一个java应用程序。最近我不得不从 Java 17 升级到 21,这导致也升级
当我部署 Spark Streaming 作业并通过 Spark2-submit 运行它时,我每秒都会收到这样的日志消息: 21/02/24 21:45:27 INFO yarn.Client: application_1612163470992_382017 ...
我想添加新的日志文件myNewLog.log,我不会在不同的环境中使用不同的记录器级别而不影响现有的日志。开发环境和生产环境的级别是
LoggerFactory 不是 Logback LoggerContext,但 Logback 位于类路径上。在 Wildfly 上部署 Spring-Boot 应用程序
我正在尝试使用 .war 在 Wildfly 服务器上部署 Spring-Boot Vaadin java 应用程序。 不幸的是我总是收到此错误消息: 2022-04-28 00:23:18,113 错误 [org.jboss.as.controller。