appender 相关问题

appender是日志系统中“输出通道”的隐喻。

Log4Net,如何向我的日志记录添加自定义字段

我使用 log4net.Appender.AdoNetAppender 附加程序。 我的 log4net 表有以下字段 [Date]、[Thread]、[Level]、[Logger]、[Message]、[Exception] 我需要向 log4 添加另一个字段...

回答 4 投票 0

在运行时更新 Log4J2 Appender 的文件路径

对于一个项目,我有一个多次启动的程序,我想将其每次运行记录到不同的文件中。我已经准备好了所需的一切,例如一个变量持有...

回答 1 投票 0

Log4j 自定义电子邮件附加器制作无限循环链

问题:如何防止错误日志调用相同的追加方法来停止无限循环,从而导致应用程序停止工作。 分析:由于AppenderClass中的append方法不是线程安全的,所以创建了

回答 1 投票 0

在 Log4j2 中组合来自多个属性文件的记录器和附加器?

我在 Tomcat 上部署了一个简单的 Web 应用程序(sample.war),它默认使用 log4j2.properties 文件进行日志记录配置。现在,我需要从不同的位置创建一个记录器配置...

回答 1 投票 0

使用Microsoft SCOM扫描log4j文件

我希望使用基于扫描 log4j 写入的日志文件的 SCOM 实用程序来发出警报,例如使用 DailyRollingFileAppender 标准附加程序。 然而,SCOM 文档

回答 2 投票 0

SplunkHttp Appender 错误:ERROR 处理元素 SplunkHttp 时出错([Appenders:null]):CLASS_NOT_FOUND

从 2021 年 5 月 31 日起,我们突然收到此错误 ERROR 处理元素 SplunkHttp 时出错([Appenders: null]):CLASS_NOT_FOUND 我们正在使用 log4j2 配置文件将日志发送到 Splu...

回答 1 投票 0

使用控制台和文件附加器的非常简单的 log4j2 XML 配置文件

我想要一个非常简单的 XML 配置文件,带有控制台和使用 log4j2 的文件附加器。 (Apache 网站提供的信息太多了。)

回答 4 投票 0

自定义记录整数值到 java 中的 log4j2 jdbc 附加程序

我正在尝试使用 log4j2 在数据库中记录我的事件。具体来说,我在属性配置文件中使用 log4j2 jdbc 附加程序来实现此目的。 这是我的 log4j2 属性中的附加程序...

回答 2 投票 0

如何开始使用 Chainsaw for Log4j?

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

回答 3 投票 0


如何判断PartitionedTableAppender是否写完?

为了避免在写入完成之前其他线程写入同一个分区而导致事务冲突,如何判断PartitionedTableAppender是否已经完成写入? 例外

回答 1 投票 0

Log4j2 控制台附加程序出现 NullpointerException

我的应用程序日志记录在测试中的 Maven 构建期间崩溃。这是我在 src/test/resources 中的 log4j2.xml: 我的应用程序日志记录在测试中的 Maven 构建期间崩溃。这是我在 src/test/resources 中的 log4j2.xml: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="INFO"> <Appenders> <Console name="stdout" target="SYSTEM_OUT"> <PatternLayout pattern="MyApp: %d{yyyy-MM-dd HH:mm:ss,SSS} %5p [%t] %c{1.} - %m%n" /> </Console> </Appenders> <Loggers> <Logger name="com.my.app" level="info" additivity="false"> <Appender-ref ref="stdout"/> </Logger> <Root level="error"> <Appender-ref ref="stdout"/> </Root> </Loggers> </Configuration> 我在构建过程中的测试过程中遇到了这个异常: 2017-11-23 15:12:28,371 main ERROR An exception occurred processing Appender stdout java.lang.NullPointerException at org.apache.logging.log4j.core.impl.ThrowableProxy.toExtendedStackTrace(ThrowableProxy.java:671) at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:138) at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:122) at org.apache.logging.log4j.core.impl.Log4jLogEvent.getThrownProxy(Log4jLogEvent.java:566) at org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:64) at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:38) at org.apache.logging.log4j.core.layout.PatternLayout$PatternSerializer.toSerializable(PatternLayout.java:333) at org.apache.logging.log4j.core.layout.PatternLayout.toText(PatternLayout.java:232) at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:217) at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:57) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:177) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:170) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:161) at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417) at org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:439) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:434) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:403) at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63) at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146) at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2116) at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2100) at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1994) at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1966) at org.apache.logging.slf4j.Log4jLogger.error(Log4jLogger.java:319) at com.my.app.MyTest.testingMyApp(MyTest.java:89) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37) at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 这是我的pom: <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jul</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jcl</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.dblock.log4jna</groupId> <artifactId>log4jna-api</artifactId> </dependency> log4j的版本是2.9.1 有趣的是,它会记录到控制台,例如当 Spring 应用程序启动时,我可以看到来自具有 @SpringBootApplication 注释的 MyApplication.java 的日志。 MyTest.java:89 是: logger.error("error occured",e); 记录器来自: import org.slf4j.Logger; import org.slf4j.LoggerFactory; 所以看起来它在错误日志期间崩溃了,但是如果我记录正常信息就没有问题。 那么这个空指针是什么? 好吧,我明白了:这是因为在测试类中我有一个模拟异常。如果我将其更改为从异常中创建一个新对象,它就可以正常工作。 我想它是报告错误的一个很好的候选者。 您作为 Exception 的参数传递的 Throwable 或 logger.error("error occured", e); 没有任何堆栈跟踪(其堆栈跟踪是 null),但是您正在使用的 Log4j2 实现尝试访问所述堆栈跟踪并抛出此错误。 查看源代码,抛出错误的行是: stackLength = stackTrace.length; 意味着 stackTrace 变量是 null。它是通过 throwable.getStackTrace() 从您作为参数传递给 的 Throwable (Exception) 获得的 logger.error("error occured", e); 至于为什么你的堆栈跟踪为空,这取决于你正在使用的JVM以及你如何得到所述异常。它可能会发生,但这绝对不是标准行为。你可以看看这个帖子和这个帖子。 如果您需要使用Mockito创建模拟异常,则可以设置getStackTrace方法以返回StackTraceElement的空数组: private Throwable logSafeExceptionMock(Class<? extends Throwable> exceptionType) { Throwable t = mock(exceptionType); when(t.getStackTrace()).thenReturn(new StackTraceElement[0]); return t; } 谢谢 Dmitry Timofeev,你拯救了我的一天!

回答 4 投票 0

log4j - 在文件和控制台中显示日志

我有两个附加程序,一个用于文件,另一个用于控制台。 我希望 Eclipse 控制台同时显示文件和控制台日志,但同时文件仅显示其自己的日志。 我怎么做? 我在这里...

回答 1 投票 0

自定义 OutputStreamAppender 未运行:LOGBACK:没有为 <MYAPPENDER>

我希望在OutputStreamAppender的基础上编写自定义appender。我写了下面的课程 封装测试; 导入java.io.IOException; 导入 java.io.OutputStream; 导入 ch.qos.logback.core.

回答 2 投票 0

按大小和时间滚动日志

我使用 log4j 1.2.16 的 RollingFileAppender,它会在日志文件达到一定大小时滚动日志文件。现在我想每天滚动日志文件,并在日志文件达到一定大小时滚动。这样就会有一个...

回答 4 投票 0

Log4j Json 模板布局配置

我是 log4j 日志记录的新手,我有一个场景,我想配置 log4j 以使用特定主体结构的 JSON 模板布局发送 http post 请求。以下是正文格式

回答 1 投票 0

为什么我使用 Python API 调用的 tableappender 追加数据失败?

我使用Python API提供的tableAppender上传数据。但是调用代码后没有报错,数据并没有追加到DolphinDB表中。任何提示或解决方案都是

回答 0 投票 0

log4j的内存 "列表附加器"。

log4j是否有一个appender,只存储日志事件的列表(用于单元测试,以验证没有错误日志被写入)?

回答 3 投票 7

如何使用log4j2在项目基础目录下创建日志文件?

我想在我的maven项目中的project base目录下创建log文件,我使用的log4j2框架在srcmianresources文件夹下保留了log4j2.xml文件,以下是文件,请更新其中的问题。

回答 1 投票 0

使用log4j清除文件吗?

im使用log4j写入具有以下属性文件的文件:log4j.rootLogger = DEBUG,FA #File Appender log4j.appender.FA = org.apache.log4j.FileAppender log4j.appender.FA.File = temp.ppr ...

回答 3 投票 1

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