草庐IT

日志篇

全部标签

java - 如何为 jar 配置 log4j 日志记录?

我有一个项目A,其构建路径上有log4j.jar。我有许多具有以下形式的日志记录语句的类:Logger_log=Logger.getLogger(A..class);..._log.info("...");我正在将项目作为jar导出到另一个项目B。项目B已经有自己的log4jjar和它自己的.xml配置文件。我想配置A中的特定类以在不同的“级别”登录到控制台Apender。请问我该怎么做? 最佳答案 嗯,基本上,你不应该那样做。这样想:如果那样做,任何应用程序中包含的每个库都将托管自己的日志记录配置,很可能以非指定顺序覆盖应用程序中

java - 如何避免在用于日志记录的字符串中调用模拟对象的方法?

我写了一个测试方法,其中有一个模拟对象(比如mockA)。我能够期待mockA的方法调用实际的程序逻辑。但是,我的程序的一部分也有日志记录,它需要字符串形式的对象信息。在创建字符串消息时,在对象上调用了一些不必要的方法。因此,在运行测试时,这些方法调用导致测试失败。这是一个例子。publicclassExample{publicintmethod(Foofoo){inta=foo.doSomething();//requiredforprogram.StringlogMessage="foodidsomething."+foo.getA()+foo.getB().getC();logg

java - 使用日期和时间戳为每次运行创建 log4j 日志文件

所有,似乎这个问题已发布多次,但我仍然没有找到适合我的问题的解决方案。我提到了this和this,但它不起作用。根据下面的属性文件,每次都会创建一个包含日期的新文件但是我想创建一个具有以下格式的日志文件并且每次执行我的应用程序时都需要生成,logFileName_MM_DD_YY-HH_MM_SS.log(或)logFileName.log_YYYY_MM_DD_HH_MM_SS#Rootloggeroptionlog4j.rootLogger=INFO,file,stdout#Redirectlogmessagestoconsolelog4j.appender.stdout=org.

java - 并行执行测试时获取顺序日志

我们一直在使用testng和java来为我们的代码执行集成测试。我们为测试执行实现了一个监听器,如下所示:-publicclassTestExecutionListenerimplementsIInvokedMethodListener{@OverridepublicvoidbeforeInvocation(IInvokedMethodiInvokedMethod,ITestResultiTestResult){System.out.println("Testing:"+iInvokedMethod.getTestMethod().getMethodName());}@Override

java - 将 INFO 和 ERROR 日志与 java.util.logging 分开

我正在为Java应用程序配置日志记录。我的目标是两个日志:一个用于所有消息,一个用于特定级别以上的消息。该应用程序使用java.util.logging.*类:我按原样使用它,因此我只能通过logging.properties进行配置文件。我没有看到以不同方式配置两个FileHandler的方法:我看到的文档和示例设置了如下属性:java.util.logging.FileHandler.level=INFO虽然我想要两个不同的处理程序以不同的级别记录到不同的文件。有什么建议吗? 最佳答案 http://java.sun.com/j

java - 每次程序执行如何在 log4j 中创建日志文件?

我目前正在使用log4j中的DailyRollingFileAppender类来执行每日日志文件附加操作,但我希望按以下格式分隔日志文件:DATA.log.__这应该在每次程序执行时完成一次,所以我最终会得到类似...DATA.log.2011-01-13_12-46-38_DATA.log.2011-01-13_12-46-38_DATA.log.2011-01-13_12-46-38_来自不同环境的不同日志文件可以汇集在一起​​。有没有办法在不扩展FileAppender类的情况下做到这一点?至少,有没有办法做到:DATA.log.__.log谢谢编辑:我已经在使用DailyRol

java - 如何附加gc日志

下面是写具体文件的gclogging选项-verbose:gc-Xloggc:/logs/gc.log好的。好的。但是当java应用程序重新启动时,文件中的旧gc日志内容消失了。我希望vm将gc日志附加到“/logs/gc.log”文件。这个选项是否存在?或者我必须编写shell脚本来备份旧的gc文件? 最佳答案 您明确要求将gc数据转到名为“gc.log”的文件。您可以将date&pid附加到文件名以防止此类冲突。Hotspot中不存在防止数据被覆盖的机制。 关于java-如何附加gc

java - 我如何使用 log4j2 为不同的类使用不同的日志记录级别?

在log4j2文档中log4j2javaconfiguration默认配置是这样的:这将向控制台生成ERROR或FATAL级别的日志记录。我的默认日志记录以相同的方式工作。不过,我遇到的问题是当我这样做时:根据文档,log4j2javaconfiguration,这将eliminatealltheTRACEoutputfromeverythingexceptcom.foo.Bar.另一方面,我的实现就像甚至不在那里。它仍然只会打印出错误日志。问题还有其他人遇到过这个问题吗?任何人都可以复制它吗?有人知道如何解决吗?我几乎会给某人一美元。不过,我肯定会满足于将他们的答案标记为绿色。这是关

java - 如何启用 Hystrix DEBUG 级别的日志记录

我已经在我的一个Spring启动应用程序中实现了NetflixOSSHystrix。并为HystrixCommand配置了一些属性。但是我如何验证这些属性是否真的被HystrixCommand使用。例如,hystrix.threadpool.default.maxQueueSize=12hystrix.threadpool.default.keepAliveTimeMinute=2hystrix.command.default.execution.isolation.strategy=SEMAPHORE我如何才能看到这些属性应用于HystrixCommand?有什么办法可以为Hystr

java - 为什么我的 Log4j 日志文件时间戳乱序,我该如何解决?

我的log4j.xml包含:...我的日志文件显示乱序的时间戳。我们可以根据时间戳显示吗?2009-02-1914:47:01,288DEBUG[com.catalystwms.core.persistence.TransactionContext]2009-02-1914:54:27,429INFO[com.catalystwms.tms.services.background.purge.PurgeManager]2009-02-1914:47:01,288DEBUG[com.catalystwms.core.services.ServiceLocator]请帮帮我。谢谢,