草庐IT

日志篇

全部标签

java - 禁用 awt/swing 调试(精细)日志消息

我正在使用Java日志记录将我的应用程序的日志消息写入日志文件和其他目的地。将日志级别设置为FINE后,我还会从AWT/Swing收到(不需要的)消息,例如:{0},whengrabbed{1},contains{2}和其他人。查看JDK源代码(参见here),可以看到相应记录器的名称是sun.awt.X11.grab.XWindowPeer。我从Java日志记录框架中了解到,此日志记录处理程序应从其父类继承其日志级别,如sun.awt。我尝试了以下方法:Logger.getLogger("sun.awt").setLevel(Level.OFF);但AWT/Swing调试消息仍然出现

java - Java 1.7 中的 JAX-WS HTTP 日志记录

我正在使用JAX-WS作为客户端。我曾经使用以下系统属性来记录所有HTTP请求和响应以进行调试:com.sun.xml.ws.transport.local.HTTPTransportPipe.dump=true但是,自从升级到Java1.7并使用内置的JAX-WS(而不是外部库)以来,此功能已停止工作。我已经做了很多搜索来找到1.7中的正确等效项,但没有运气。有人知道如何记录输出吗?感谢您的帮助 最佳答案 试试com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=t

java - 如何根据文件大小保持滚动日志文件?

我正在做一个项目,我在一个文件中记录了一堆东西,我想确保一旦达到文件的固定限制就滚动我的日志文件。我有一个下面的logback.xml文件,但文件大小似乎不起作用。我看到我的文件大小为793M,但我的限制是100Mprocess.log100MBprocess%i.log19%date%level[%thread]%msg%ntrue%d{HH:mm:ss.SSS}[%thread]%-5level%logger{36}-%msg%n我在这里做错了什么?在日志记录方面,我们在生产中应该遵循的最佳策略是什么?我们在一个文件中记录了一堆东西,我们不想用这个日志文件填满磁盘。

java - 使用 log4j 编写审计日志

我有一个应用程序需要写入两种不同类型的日志:应用程序日志和审计日志。应用程序日志用于调试目的,而审计日志用于记录执行的操作。两个日志将在不同的文件中,每个文件应该只有提到的那些日志(意味着审计日志文件不能有应用程序日志,反之亦然)。这如何使用log4j实现?我知道实现这一点的一种方法是在log4j中定义自定义日志级别。还有其他/更好的方法吗? 最佳答案 我有过相同的用例。在您的log4j.xml中,您可以为每个定义两个不同的记录器和一个附加程序。因此,一个例子:在您的Java代码中,您可以使用“Logger.getLogger("L

Linux系列:docker logs 命令(跟踪容器的日志并输出日志的时间)、修改默认数据存储路径、查看docker镜像的dockerfile、docker history显示不全、有无容器目录挂载

dockerlogs命令(跟踪容器的日志并输出日志的时间)、修改默认数据存储路径、查看docker镜像的dockerfile、dockerhistory显示不全、有无容器目录挂载一.dockerlogs命令,跟踪容器的日志并且输出日志的时间0、代码输出日志1、dockerlogs官方2、kubectllogs官方二.容器有挂载目录的时候,容器反向生成为镜像,挂载的内容不会保留。只有实打实拷贝进容器的反向生成镜像才会保留。无容器目录挂载有容器目录挂载三.docker怎么修改默认数据存储路径docker配置docker怎么修改默认数据存储路径四.【docker】怎么查看docker镜像的docke

java - 默认的 jvm 错误日志位置是什么?

如果在执行java-cp../blahsomeplace/somejar.jar时未指定错误日志位置,jvm错误日志将写入何处? 最佳答案 “jvm错误”是什么意思?如果您引用堆栈跟踪,这些跟踪将写入System.err,从而导致标准错误流。这通常会打印在您的终端中,就像System.out一样。如果需要,您可以在调用JVM时(使用2>/my/file.log)或通过重定向System.err从您的代码中重定向它。一些日志记录框架会重定向标准错误,这取决于您的配置。如果您引用JVM崩溃日志(当JVM崩溃时创建,如果您不使用JNI,这

java - 以编程方式查找 log4j2 (beta9) 日志文件名

我正在使用Java1.7和Log4j2(beta9),并且我有以下log4j2.xml文件:%-5p-%m%n"/>%-5p-%m%n"/>就日志记录本身而言,它满足了我的需要。作为错误/异常序列的一部分,我需要发送一封带有日志文件附件的电子邮件。如何以编程方式获取“fileName="logs/foo.log"”位?我真的不想对此进行硬编码。 最佳答案 从Logger中,遍历所有getAllAppenders寻找实现RollingFileAppender的那个,然后调用getFile在上面。或者您可以使用getAppender("

java - 如何使用 Intellij 重构将 "System.out"调用替换为日志记录?

遗留应用程序对System.out的调用超过3000次。使用Intellij的重构工具,我如何(轻松地)将对“System.out”的调用替换为对log4j/java.util.logging/etc的调用?我浏览了重构菜单,但没有看到任何选项。注意:我知道我可以使用“源代码查找/替换”,但很好奇重构工具是否处理了这种类型的用例谢谢 最佳答案 使用StructuralSearchandReplace 关于java-如何使用Intellij重构将"System.out"调用替换为日志记录?

java - 用于解析日志文件并查找堆栈跟踪的正则表达式

我正在使用没有日志记录且仅将所有信息打印到控制台的旧版Java应用程序。大多数异常也可以通过调用printStackTrace()来“处理”。简而言之,我刚刚将System.out和System.error流重定向到一个日志文件,现在我需要解析该日志文件。到目前为止一切顺利,但我在尝试解析日志文件以获取堆栈跟踪时遇到问题。一些代码也被混淆了,所以我需要通过一个实用程序运行堆栈跟踪来消除它们的混淆。我正在尝试将所有这些自动化。到目前为止我最接近的是使用这个获得初始异常行:.+Exception[^\n]+并使用以下方法查找“at..(..)”行:(\t+\Qat\E.+\s+)+但我不知

java - 公共(public)日志配置 : use SimpleLog & set debug level

我有一个公共(public)日志配置问题。我希望它使用SimpleLog(而不是java.util.logging)并记录级别>=debug(而不是信息)的所有消息。 最佳答案 根据commons-loggingdocs,您应该能够通过将commons-logging.properties文件放置在类路径的根目录中,使用以下条目显式配置它以使用SimpleLog:org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog然后您可以configure