草庐IT

logging-format-interpolation

全部标签

java - log4j.properties 在可执行 jar 中不起作用

我正在使用eclipse,我已将log4j.properties放在项目目录中,我通过调用访问它PropertyConfigurator.configure("log4j.properties");这在Eclipse中工作正常,但是当我将项目提取为可执行Jar并在另一台机器上运行它时,我收到一条错误消息,指出它找不到log4j.properties。有什么解决办法? 最佳答案 发生了什么PropertyConfigurator.configure(String)从文件系统加载和读取文件。您的属性文件位于项目目录中,当您从eclips

java.io.WriteAbortedException : writing aborted; java. io.NotSerializableException : org. apache.log4j.Logger

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。当我尝试将用户登录到我的系统时,我在Tomcat中遇到此错误:org.springframework.web.context.ContextLoader-RootWebApplicationContext:initializationcompletedin1967msSau14,20137:39:17PMorg.apache.catalina.session.StandardManagerdoLo

java - 是否有 String.format(...) 的类型安全替代品

对于编写错误、日志记录或任​​何其他String消息,可以使用String.format(...)方法。不幸的是,此方法不是类型安全的,因此以下源将抛出IllegalFormatExceptionStrings=String.format("Mymessagehas%dcharacters!","30");除了StringBuilder类之外,是否还有其他替代方法来编写此类消息。我个人认为使用StringBuilder实例组合的消息会变得更难阅读。 最佳答案 使用仅带有%s格式说明符的String.format()是有效类型安全的(

java - 什么是 "Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains)"

我是Maven新手,尝试使用命令行创建Maven项目。当我从命令行运行mvnarchetype:generate所有流程完成后的第一件事是:Chooseanumberorapplyfilter(format:[groupId:]artifactId,casesensitivecontains)我知道我们可以通过按Enter跳过这些。但我真的很想知道这些线到底是什么?我用谷歌搜索,但没有给出明确而简单的答案。我的问题是:为什么以及如何选择一个数字,它与过滤器的关系如何(因为过滤器和数字在OR中)。我们可以跳过这些然后为什么它是由Maven给出的..为什么要特别显示这个数字630。当我们回

java - 回退 : does not creates log file

首先,我尝试了所有存在的解决方案,但没有任何效果,所以我不想让任何人说这个问题是重复的。我无法使用logback登录到文件,但我可以毫无问题地登录到控制台。我的logback.xml文件内容:%-4relative[%thread]%-5level%logger{35}-%msg%ntrue/root/connector/logs/connector.log%d{yyyy-MM-ddHH:mm:ss}%-5level[%thread]\(%class{25}:%line\)-%msg%n/root/connector/logs/connector.log.%d{yyyy-MM-dd}.

java - 执行 TestNG 测试时捕获 Log4j 输出

我正在执行TestNG测试,日志输出设置为DEBUG,因此如果出现故障,我可以检查到底出了什么问题。问题是输出非常冗长,运行起来很烦人。我想捕获所有Log4J日志记录事件——这很容易——并且只在测试失败时打印它们。此外,我需要考虑@Before/@After方法并为它们打印输出。假设我已经有一个Log4JLoggingEvent列表,我如何才能仅在Test/After/在方法失败之前? 最佳答案 使用Reporter.log(str)在报告中记录消息。@AfterMethodpublicvoidprintLOGonFailure(I

java - Websphere 所有日志都将转到 SystemOut.log

我在我的应用程序中使用Log4j,并有一些用于调试和错误的附加程序。我在tomcat上测试了这个并且工作正常。在各自的文件中生成所有日志。但是当我在WAS6.1上部署代码时,所有日志都只在SystemOut.log中生成。请帮忙! 最佳答案 问题可能是WebSphere6.1在内部使用JakartaCommonsLogging(JCL),如果您的任何代码或第3方库也使用JCL,则WebSphere的配置会与您尝试使用log4j的应用程序发生冲突。如果发生这种情况,您将看到您所看到的。有多个references和blogposts描述

java - 让 log4j2 与 eclipse 一起工作

我知道有很多问题被问到这个问题,但我已经尝试让它工作几天了,但当我开始时我并没有更进一步。我尝试在eclipsevm参数中使用-Dlog4j.configuration=file:/path/to/log4j.properties和-Dlog4j.debug(在debug&运行)并没有输出我尝试过使用.properties和.xml但不开心尝试将.xml和.properties文件放在根目录、src和我添加到我的类路径的外部文件夹中......仍然没有快乐我认为它在另一个lib/jar中使用了另一个.xml或.properties文件,但是因为我无法进行任何调试,所以我发现很难跟踪我在

java - 如何使用 Log4j 和 Storm Framework 将日志写入文件?

我在使用storm中的log4j记录到文件时遇到了一些问题。在提交我的拓扑之前,即在我的主要方法中,我编写了一些日志语句并使用以下方法配置了记录器:PropertyConfigurator.configure(myLog4jProperties)现在,当我在eclipse中使用我的可执行jar运行我的拓扑时-它工作正常,正在按预期创建日志文件。或者当我使用“java-jarMyJarFilesomeOtherOptions”,我可以看到正在配置log4j并且文件是格式正确,日志记录在文件和控制台上完成(如在我的log4j.properties中定义)但是当我使用“stormjarMyJ

java - 如何在log4j2中实现 "configureAndWatch"

在log4j中,有一个特性configureAndWatch(如下所述),无需重启应用程序服务器,日志阈值级别可以修改为默认延迟。org.apache.log4j.xml.DOMConfigurator.configureAndWatch(log4j.xmlpath);这在log4j2中也可能吗?如果是,那么如何实现?此外,下面是用于设置和清理log4j设置的代码行。BasicConfigurator.configure()BasicConfigurator.resetConfiguration()这如何在log4j2中实现?请帮忙。谢谢。 最佳答案