在大型应用程序中,日志记录是必不可少的,但是当许多开发人员处理代码时,日志可能会变得困惑。可以这样写:log.info("Loaded"+rowCount+"recodrsfromthedatabase.");另一个可能会做这样的事情:log.debug("Recordsread={}",rowCount);第三个开发人员可能认为这是正确的方法:log.trace("Record(s)read:"+NumberFormat.getInstance().format(rowCount)+",values:"+values);这将导致日志难以阅读,也更难解析。您可以为开发人员提供什么指导来
我需要一些有关SLF4J日志记录的建议。目前,我们正在为我们的Java网络应用程序使用SLF4J日志记录(log4j绑定(bind)),它使用简单的ConsoleAppender。我们的下一步是研究可以保存日志的地方。我们的应用程序每天处理大约100,000条消息。每条消息生成大约60-100行日志。我们的目标是能够快速搜索和找到失败的消息(使用messageId)并确定失败的原因。我的问题是:下面哪个是存储我们日志的好地方:文件数据库太阳能谢谢。 最佳答案 考虑从log4j切换到使用logbackslf4jAPI的实现Logbac
(这是在SLES11、Java7、Tomcat6、log4j-1.2.16上)我们使用log4j将不同的内容写入不同的日志文件。我继承了这段代码,所以无论好坏,通用结构都暂时保留在这里。记录器将创建两个日志文件:main.log和stats.log。特定的统计消息通过单独的调用记录到两个记录器(您将在下面看到),并且一大堆其他内容记录到主日志。因此,在我们的所有代码中,您会看到类似Log.logMain(someMessageToLog);的内容。在我们的代码(由多个线程执行)的一个地方有以下内容:StringstatsMessage=createStatsMessage();Log.
我正在使用Tomcat部署javawebapp。简而言之,我得到了一个很长的堆栈跟踪:GRAVE:Achildcontainerfailedduringstartjava.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:Failedtostartcomponent[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/new-webapp]][...]Causedby:java.lang.NoClassDefF
我正在考虑将第3方Java应用程序连接到我们的日志聚合/分析解决方案(可能是Splunk,但我们还没有最终确定我们的选择)。将Splunk代理连接到syslog似乎是最简单的方法,因此我正在寻找一种方法将应用程序日志重定向到服务器上的本地syslog守护进程。Java应用程序使用java.util.logging,不幸的是它没有开箱即用的syslog处理程序(不过我相信log4j有)。有没有经过验证的库可以做到这一点?日志负载不是很大(每个进程每分钟可能有10-20条消息,每个主机最多6个进程)但我关心可靠性和持久性(例如,当守护进程关闭时会发生什么?...)。任何帮助将不胜感激...
我的项目中有两个类,我想将记录器从主类传递到子类,并让子类使用父类的记录器设置。子类是一个单独的通用类(即不依赖于主类),如果没有提供,则必须能够创建自己的记录器。主类创建一个记录器,添加一个控制台处理程序、文件处理程序和日志格式化程序,我希望子类能够为其日志消息临时覆盖日志格式化程序,然后当主类恢复时,恢复为它的日志格式化程序。我试图将记录器添加到子类中,或者在需要时创建一个新记录器,但是我在屏幕和日志文件中收到多条消息(它似乎是将处理程序附加到主类而不是而不是覆盖它)。我该怎么做? 最佳答案 我假设您正在使用java.util.
我有一个使用外部库的Java程序。主程序使用log4j来记录其消息,库使用java.util.logging。我的问题是来自外部库和主程序的日志消息在控制台中混合在一起。我想将所有日志消息从外部库重定向到一个文件。我尝试使用logging.properties文件来做到这一点:handlers=java.util.logging.FileHandler.level=INFOjava.util.logging.FileHandler.pattern=foo.logjava.util.logging.FileHandler.formatter=java.util.logging.XMLFo
我正在使用Eclipse3.7.1,但我的代码没有看到我的logging.properties文件。(我认为它会自动看到它,因为它位于JRE中的标准位置,但这显然是错误的)。有人告诉我需要将此文件添加到类路径的根目录中,但我不确定该怎么做。Eclipse为我提供了将jar、库、变量和其他内容添加到类路径的方法,但我不知道如何添加属性文件。任何人都可以告诉我吗?您可能认为添加一个简单的文本文件比添加一个jar文件更容易,但我没有看到任何文本文件或属性文件的选项,所以我不确定如何继续。 最佳答案 右键单击您的项目->运行/调试设置->编
日志记录会降低应用程序性能吗?以及如何限制在日志文件中打印display-tags日志?例如。我的日志文件有以下日志[2012-06-2015:52:06,290]org.displaytag.tags.TableTagisFirstIteration684-[data]firstiteration=true(rownumber=1)[2012-06-2015:52:06,290]org.displaytag.tags.TableTagisFirstIteration684-[data]firstiteration=true(rownumber=1)[2012-06-2015:52:0
是否可以将java.util.logging配置为在“滚动”到使用新日志文件时压缩日志文件?例如,我的日志配置文件的摘录如下所示:java.util.logging.FileHandler.level=ALLjava.util.logging.FileHandler.pattern=/blah.logjava.util.logging.FileHandler.limit=10000000java.util.logging.FileHandler.count=5理想情况下,我希望将当前日志消息写入blah.log.0,同时保留blah.log.1.gz、blah.log.2.gz等。另请