log4j2 相关问题

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

使用 log4j 进行线程特定日志记录

我们有一个大型的java应用程序,它通过各种方式接受作业,运行它们并返回结果。目前,有一个 log4j 日志收集所有日志记录。我们想保留这个,b...

回答 1 投票 0

方法 getLogger() 不再是 log4j2 中 Logger 的成员?

我将 log4j-api-2.0.0.jar 和 log4j-core-2.0.2.jar 导入到我的构建路径中。但不知何故,以下代码失败了: 导入 org.apache.logging.log4j.core.Logger; 公共类TheClass { ...

回答 8 投票 0

Log4j2 在测试过程中动态设置日志目录

这个问题似乎非常简单,但我花了几个小时试图解决它,却一无所获。 我已经使用 Selenium 和 Testng 构建了一个测试框架。我有一个基础cl...

回答 1 投票 0

Log4J 不写入文件,仅写入控制台

我尝试将自定义日志级别“BSHARING_LOG”的消息写入单独的日志文件“bsharing.log”。启动应用程序后,出现空文件“bsharing.log”,但其中没有消息。两者&...

回答 1 投票 0

如何使用 Log4j2 SpringProfile 仲裁器来更改属性值

根据文档,应该可以使用 SpringProfile 仲裁器根据活动的 Spring Boot 配置文件来选择是否包含给定的“节点”;所以我认为这应该......

回答 1 投票 0

当 logback 和 log4j 都在类路径中时,Hibernate 调试/跟踪日志记录

拥有: 弹簧启动:2.6.7 休眠:5.6.8 logback 作为默认日志记录实现 Apache POI poi-ooxml:5.2.3。 我们需要记录 SQL 查询和参数。通常这可以从 Spring

回答 1 投票 0

如何配置 EMR Serverless 以将 Spark 应用程序正确记录到 stdout 和 stderr

我目前正在 EMR 无服务器上运行 Scala Spark 应用程序,所有日志都输出到 stderr 并记录在信息级别。看看这个页面,这似乎是

回答 1 投票 0

使用 log4j2 java.lang.NoSuchMethodException 原生编译 spring boot 3: org.apache.logging.log4j.message.DefaultFlowMessageFactory.<init>()

当我使用插件将 Spring Boot 3 应用程序编译为本机映像时,例如: ./gradlew bootBuildImage --imageName=example.com/library/my-app:v1 然后运行它: docker run --rm -p 5050:5050 e...

回答 1 投票 0

使用 Log4J2 YAML 中的属性

我正在尝试使用 log4j2.yaml 中的属性。等效的 XML 是这样的。 日志 我正在尝试使用 log4j2.yaml 中的属性。等效的 XML 是这样的。 <Configuration> <Properties> <Property name="log-path">logs</Property> <Property name="archive">${log-path}/archive</Property> </Properties> <Appenders> . . . 我试过这个。 Configutation: name: Default properties: property: name: log-path value: "logs" name: archive value: ${log-path}/archive Appenders: 但是属性没有被选择。例如,以下代码创建一个 ${log-path} 文件夹来存储日志文件,而不是所需的 logs 文件夹。 fileName: ${log-path}/rollingfile.log 我做错了什么? 如果您查看 log4j2.json 文件,您可以看到 property 键必须具有一个值,该值是(再次)键值对的列表。翻译成 YAML 看起来像这个文件的开头: configuration: name: Default properties: property: - name: log-path value: logs - name: archive value: ${log-path}/archive appenders: Console: PatternLayout: pattern: '[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n' name: Console-Appender target: SYSTEM_OUT File: PatternLayout: pattern: '[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n' fileName: ${log-path}/logfile.log name: File-Appender RollingFile: DefaultRolloverStrategy: max: '30' PatternLayout: pattern: '[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n' Policies: SizeBasedTriggeringPolicy: size: 1 KB fileName: ${log-path}/rollingfile.log filePattern: ${archive}/rollingfile.log.%d{yyyy-MM-dd-hh-mm}.gz name: RollingFile-Appender loggers: logger: additivity: 'false' appender-ref: - level: info ref: Console-Appender - level: error ref: File-Appender - level: debug ref: RollingFile-Appender level: debug name: guru.springframework.blog.log4j2json root: appender-ref: ref: Console-Appender level: debug (上面是使用 yaml from-json log4j2.json 转换的,命令是从 ruamel.yaml.cmd 安装的 当然可以保证这有效,因为有多种方法可以将 XML 层次结构转换为 YAML。但 YAML 和 JSON 的解析不太可能有所不同。 ${}的扩展必须在加载 YAML 文件后通过遍历数据结构来完成,并且不太可能通过以不区分大小写的方式匹配原始映射键来完成。 @user2693135 我和你有同样的问题。你解决了吗?

回答 2 投票 0

如何访问 log4j.properties 文件中的应用程序参数?

我正在开发一个遗留项目,该项目使用 log4j.properties 文件进行日志记录配置。在属性文件中,我尝试访问以下系统变量(或应用程序参数)...

回答 1 投票 0

使用 Json 模板布局 log4j2 在 json 日志中写入序列号时处理异常堆栈跟踪

我正在使用 json 模板布局通过 kinesis firehose 和 firelens 将我的 ecs 服务的 json 日志写入到 s3。 以下是我正在使用的 json 模板布局的配置 - { ”

回答 1 投票 0

Log4j2/Slf4j 和 Java 11

我目前正在尝试使用 log4j/slf4j 和 java 11 构建一个应用程序,但我在运行时遇到这个问题: 2018-12-10 22:09:27,225 主要信息 无法初始化脚本支持,因为这个 JRE doe...

回答 2 投票 0

日志文件未通过 log4j2 创建

我有一个简单的 servlet 应用程序并尝试在我的 Web 应用程序中实现 log4j2 log4j2 jar 是 - log4j-api-2.17.1.jar / log4j-core-2.17.1.jar,servlet 应用程序 3.1, 雄猫8.5 我的...

回答 1 投票 0

log4j2 MDC 数据未为某些记录器打印

通过 log4j-1.2-api 桥切换到 log4j2 后,我注意到某些日志行中丢失了 MDC 数据。这些行来自同一类中的单独记录器。令人费解的是...

回答 1 投票 0

在log4j2.yml配置文件中声明多个属性变量

将 log4j2 的配置文件从 .xml 转换为 .yml 时,我遇到了这些属性变量的问题。 我运行良好的 .xml 文件如下所示,有 2 个属性变量“log-path”...

回答 1 投票 0

Log4j2 - 为每个附加程序/记录器编写单独的日志文件 - webMethods

我正在尝试为 webMethods 中的代码创建 log4j2 日志文件。记录器名称、消息和级别将由用户在运行时传递,并基于该单独的日志文件需要创建...

回答 1 投票 0

spring boot tomcat访问日志log4j2弹性通用架构

配置 Spring Boot 使用 log4j2 和 ECS 非常简单。我们需要做的就是在 pom.xml 中包含以下依赖项: org.springframework。

回答 1 投票 0

检测 gradle 传递依赖项中是否存在 Apache Log4j 漏洞

log4j 最近存在一个漏洞 https://nvd.nist.gov/vuln/detail/CVE-2021-44228,其严重程度得分为 10 如何检查 gradle 中是否存在 Log4j 易受攻击的版本,以便它

回答 2 投票 0

我的log4j2日志文件总是每行都有双输出。请问如何停止重复?

我的log4j2日志文件总是每行都有双输出。请问我怎样才能停止重复? 我的log4j2日志文件总是每行都有双输出。请问如何停止重复? <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <properties> <property name="name">CernerPharmacyWebApp</property> <property name="pattern">%d %-5p %C{2} (%F:%L) - %m%n</property> </properties> <Appenders> <Console name="CONSOLE" target="SYSTEM_OUT"> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> </Console> <RollingFile name="ROLLING_FILE" fileName="..\logs\${name}.log" filePattern="..\logs\${name}-%d{yyyy-MM-dd}-%i.log"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy/><!-- Rotated everyday --> <SizeBasedTriggeringPolicy size="50 MB"/> <!-- Or every 50 MB --> </Policies> </RollingFile> </Appenders> <Loggers> <Root level="error"> <!-- <AppenderRef ref="CONSOLE"/> --> <AppenderRef ref="ROLLING_FILE"/> </Root> <!-- Controls packages --> <Logger name="com.jarmel.pharmacy.controls.BarCodeOrderServlet" level="trace"> <!-- <AppenderRef ref="CONSOLE"/> --> <AppenderRef ref="ROLLING_FILE"/> </Logger> <Logger name="com.jarmel.pharmacy.controls.GetCodeValues" level="error"> <!-- <AppenderRef ref="CONSOLE"/> --> <AppenderRef ref="ROLLING_FILE"/> </Logger> <Logger name="com.jarmel.pharmacy.controls.GetPersonnelServlet" level="error"> <!-- <AppenderRef ref="CONSOLE"/> --> <AppenderRef ref="ROLLING_FILE"/> </Logger> </Loggers> </Configuration> 块引用 您的根记录器和命名记录器都引用同一个附加程序。 每个活动记录器都会向其附加器发送一个事件,因此附加器将多次接收该事件,每个记录器一次。 (根记录器将获取所有事件,命名记录器将仅获取代码中具有匹配名称的记录器发出的事件。) 这称为可加性。请参阅http://logging.apache.org/log4j/2.x/manual/configuration.html#Additivity 您可以在指定的记录器配置中设置 additivity="false"。 不需要为每个命名记录器指定单独的附加器,除非目标与根记录器附加器不同。您也可以重写如下: <Root level="error"> <!-- <AppenderRef ref="CONSOLE"/> --> <AppenderRef ref="ROLLING_FILE"/> </Root> <!-- Controls packages --> <Logger name="com.jarmel.pharmacy.controls.BarCodeOrderServlet" level="trace"/> <Logger name="com.jarmel.pharmacy.controls.GetCodeValues" level="error"/> <Logger name="com.jarmel.pharmacy.controls.GetPersonnelServlet" level="error"/>

回答 2 投票 0

帮助我正确获取log4j2

我是使用 aws java lambda 云手表实现 log4j2 的新手。我需要自定义日志而不是云监视日志。我正在使用step函数上传大尺寸记录的csv。所以内置云

回答 2 投票 0

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