草庐IT

binlog日志

全部标签

java - 事件日志解析器的适当设计模式?

从事一个解析事件日志的项目,然后根据这些事件的属性更新模型。我一直很懒于“完成它”,而更关心前期优化、精益代码和适当的设计模式。主要是自学实验。我感兴趣的是更有经验的设计师认为哪些模式是相关的,或者什么类型的伪代码对象架构是最好的、最容易维护的等等。单个日志中可以有500,000个事件,大约有60种类型的事件,所有这些都共享大约7个基本属性,然后根据事件类型具有0到15个附加属性。事件类型是日志文件每一行中的第二个属性。所以我已经尝试了一个非常丑陋的命令式解析器,它逐行遍历日志,然后逐行处理事件。然后我尝试了一个使用“nextEvent”模式的词法规范,它在循环中被调用并被处理。然后我

c# - 日志级别是否有接近共识的指南?

我和我的团队在最近两家公司使用的日志级别影响了我。我将在这里分享我们的,但请记住这一点是主观的:致命-您的应用正在崩溃。错误-此操作或线程正在崩溃和燃烧。该应用程序可能能够继续。警告-当前操作可能会继续,但工程师需要调查一些事情。信息-说明您的操作在做什么。调试-解释可能变得非常垃圾的操作(内循环等)。现在,我的客观问题是在这方面是否定义了高度一致的风格。答案可能是否定的。但是如果有这样的标准,你能给它一个URL吗?另请注意,我并不真正关心实际配置的阈值是多少,以便在部署/生产环境中记录有用的地方。相反,我的问题仅限于我们这些编写代码的人应该使用的指南。我在我的问题上放置了C#标记和J

java - Logback SyslogAppender 堆栈跟踪日志记录前缀

我们最近从Log4J切换到Logback。除了SyslogAppender中的堆栈跟踪外,日志记录似乎运行良好。它们就像剩余的日志消息一样带有前缀。有什么方法可以禁用此前缀并确保它们将像在Log4JSyslogAppender中一样打印出来吗?提前致谢。当前行为:Apr0212:31:08host.name2012-04-02T12:31:08.418+0200ajp-bio-8009-exec-7com.gooddata.exception.servlet.HttpExceptionTranslatorERROR:Processingclient_request=/gdcwebapp

java - 如何更改 Java Transformer 中的默认日志记录

我实现了code使我能够打印格式化的XMLimportjava.io.StringReader;importjava.io.StringWriter;importjavax.xml.transform.ErrorListener;importjavax.xml.transform.OutputKeys;importjavax.xml.transform.Source;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerException;importjavax.xml.transform.

java - 如何从 .jar 文件中获取日志?

我有一个abc.jar文件,里面有一些Java类。我没有它的源代码。我想获取调试时遇到的类/方法的日志。我该怎么做?P.S-我本可以使用log4j但我没有源代码。 最佳答案 假设您有abc.jar并且它不使用任何框架进行日志记录,并且您没有您提到的任何源代码。不,您不能通过这种方式获取日志。 关于java-如何从.jar文件中获取日志?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

java - 在少数特定情况下丢失的日志消息

我正在使用java.util.logging来记录我的应用程序的所有日志。直到最近,我一直在使用没有任何特定配置的日志记录工具。一切都按预期工作,所有日志都在控制台(stderr)中可见现在,我想为我的日志自定义配置。我希望日志显示在控制台上,但我也希望将它们写入文件中。我想出了以下解决方案:publicstaticvoidmain(String[]args){System.setProperty("java.util.logging.config.file","log.config");LoggerdefLogger=Logger.getLogger("fr.def");//alll

java - 禁用 apache HTTP 客户端的日志记录?

我正在编写一个应用程序,我在其中使用HTTP协议(protocol)将文件上传到服务器。一切正常,我可以上传文件,我使用ApacheHTTP客户端jar集来完成此操作。在应用程序中,我使用了已设置为DEBUG级别的log4j日志记录框架,默认情况下,ApacheHTTPClient也选择了具有相同日志记录级别的相同日志记录框架,并且它正在生成大量日志。谁能指导我如何禁用apacheHttp客户端的日志记录?我在XML文件名log4j.xml的帮助下配置log4j。 最佳答案 假设您使用的是httpclient4,不会添加类似this

java - 我们如何删除日志文件中的额外消息

我有一个简单的日志记录程序,即:publicclassLoggingExample1{publicstaticvoidmain(Stringargs[]){try{LogManagerlm=LogManager.getLogManager();Loggerlogger;FileHandlerfh=newFileHandler("log_test.txt");logger=Logger.getLogger("LoggingExample1");lm.addLogger(logger);logger.setLevel(Level.INFO);fh.setFormatter(newSimpl

java - 有没有办法在浏览器中实时查看我的网络应用程序 tomcat 日志?

我正在使用log4j来记录我的数据。我希望能够在浏览器中与我的网络应用程序一起实时查看日志文件。有像Chainsaw这样的独立工具,它们非常好,但它们不能用于在浏览器中实时查看日志的目的。谁能帮我解决这个问题? 最佳答案 一个简单的例子是:Servlet(根据需要更改日志文件的路径):@WebServlet(name="Log",urlPatterns={"/log"})publicclassLogServletextendsHttpServlet{privatestaticfinallongserialVersionUID=750

java - Logback:如何将日志目录从 "tomcat/bin"更改为与应用程序相关?

我想使用slf4j和logback进行日志记录。你可以在下面看到我的logback.xml:module.log%date%level[%thread]%logger{10}[%file:%line]%msg%n问题是:当我将应用程序部署到Tomcat时,日志文件存储在tomcat/bin文件夹中,我想将其存储在myapp文件夹中(tomcat/webapp/myapp).我该怎么做? 最佳答案 好吧,我解决了我的问题,但它不是很好的解决方案(在我看来)。首先,我将日志文件的绝对路径放在.property文件中。例如:logback