草庐IT

add_file_log

全部标签

java - 在 log4j 的内存 'list appender' 中

log4j是否有一个仅存储日志记录事件列表的附加程序(用于单元测试,以验证没有写入错误日志)? 最佳答案 有一个MemoryAppender,但它不是标准log4j库的一部分。您可以轻松编写自己的代码,但如果您仅将它们用于单元测试,我可能会模拟Logger并断言没有调用它。覆盖目标类中的getLogger()方法或直接在类型上设置模拟Logger。使用Jmock(内存中的例子,如有错误请见谅):publicvoidtestDoFoo(){Mockerymockery=newMockery();LoggermockLogger=moc

java - Log4J 能够从磁盘已满中恢复吗?

我们有几个java应用程序服务器在这里运行,有几个应用程序。它们都使用Log4J记录到同一个文件系统中,我们为此创建了该文件系统。有时会发生文件系统空间不足并且应用程序获取log4j:ERRORFailedtoflushwriter,java.io.IOException不幸的是,Log4J无法从此错误中恢复,因此即使在文件系统中释放空间后,也不会从该应用程序写入更多日志。除了重新启动应用程序之外,是否有任何选项(编程方式或设置方式)让Log4J再次运行? 最佳答案 我没有测试这个,但是logback的网站状态:Gracefulre

java - Apache 事务 :write file transactionally - how to use resourceId

如果有人实现了事务写入文件,请帮助我。相关主题已在较早的线程(transactionalwrite)中讨论过。用例如下:如果写入日志文件失败,应回滚相应的数据库事务。因此写入文件应该以事务方式执行。我选择了ApacheCommonsTransaction库。有问题,这不会让我更进一步,因为没有找到合适的文档或示例。我已经创建了FileResourceManager实例:FileResourceManagerfrm=newFileResourceManager("c:\cur","c:\cur",true,logger);据我了解ApacheCommonsTransactiontutor

java - 在运行时设置 java.util.logging.config.file

我试图在运行时设置javautil日志记录配置文件,以避免必须将其设置为VM参数。但这行不通。每当我尝试重新读取配置时,日志记录都被禁用。请看下面的代码片段:packagetest;importjava.io.FileInputStream;importjava.util.logging.Level;importjava.util.logging.LogManager;importjava.util.logging.Logger;publicclassA{privatestaticfinalLoggerLOGGER=Logger.getLogger(A.class.getName())

java - 在 cloudfoundry 上发布项目时出现错误 java.io.FileNotFoundException(log4j 日志文件)

我计划将Web应用程序与mysql服务一起迁移到cloudfoundry。但是我遇到了以下错误。它在本地环境下运行良好。也会生成日志文件。错误日志如下:Jan5,20137:35:59AMorg.cloudfoundry.reconfiguration.AbstractServiceConfigurerconfigureINFO:Nobeansoftypeorg.springframework.amqp.rabbit.connection.ConnectionFactoryfoundinapplicationcontextJan5,20137:35:59AMorg.apache.cat

java - 如何在log4j2中实现自定义模式布局

我正在将我的应用程序从log4j迁移到log4j2API。迁移时,我发现使用了custompatternlayouts、patternparsers和patternconverters。我不知道如何使用log4j2插件实现这些更改。任何人都可以帮助我如何将此自定义布局TestPatternLayout转换为log4j2。非常感谢。PFB关于如何使用log4j实现自定义模式布局的完整细节。测试模式布局:publicclassTestPatternLayoutextendsPatternLayout{@OverrideprotectedPatternParsercreatePatternP

java - log4j 停止记录到文件,

我在我的java应用程序中使用log4j,但是一段时间后没有抛出任何异常它就停止了记录我的log4j配置如下。log4j.rootLogger=INFO,FILElog4j.appender.FILE=com.test.TestFIleAppenderlog4j.appender.FILE.MaxFileSize=20MBlog4j.appender.FILE.MaxBackUpIndex=200我的文件附加程序包含一些代码来执行zip操作并指定日志文件格式等等。这一段时间记录正常,但突然停止记录,也没有抛出异常任何人都可以告诉我可能是什么问题吗?有人知道像这样的log4j相关问题吗?

java - log4j: Tomcat 6 错误

我使用JavaEE编写了一个Web应用程序。我正在使用log4j和Tomcat6.0.28。当我在tomcat上启动我的应用程序时,控制台每3秒出现以下错误消息:log4j:ERRORLogMananger.repositorySelectorwasnulllikelyduetoerrorinclassreloading,usingNOPLoggerRepository.有人知道这是什么意思吗?log4j.xml可能有问题吗?如果需要,我可以发布更多代码/配置文件。应用程序有效,但我有点担心。谢谢... 最佳答案 这是一个log4j

java - Spring 移动 : how to add DeviceWebArgumentResolver programmatically?

Spring移动documentation建议添加如下配置:将当前设备对象作为参数传递给@Controller方法。然而,我们可以使用:@EnableWebMvc@ConfigurationpublicclassWebConfigextendsWebMvcConfigurerAdapter{}并绕过配置。然后,如何添加一个DeviceWebArgumentResolver以编程方式?解决方案(卢西亚诺):@EnableWebMvc@ConfigurationpublicclassWebConfigextendsWebMvcConfigurerAdapter{@Overridepubli

java - Tomcat 7 将所有日志记录到 catalina.out 但不记录到 log4j2 定义的文件中

在将我的应用程序转换为网络应用程序之前。Log4j将日志记录在我在log4j2.xml中定义的正确日志文件(info.log和debug.log)中。但是当我将我的应用程序更改为web.app时,所有日志现在都记录到servlet容器(tomcat7)中的catalina.out文件中。部署应用程序后,log4j2创建了这些日志文件,但它们仍然是空的,所有日志都转到catalina.out文件。你能指出我做错了什么吗。在web.xml中,我添加了必要的配置。project-servicecontextConfigLocationclasspath*:applicationContext