Tag: logging

是否可以指定JVM的崩溃转储的位置?

我们有一个使用JNI的桌面应用程序偶尔会导致JVM崩溃。 幸运的是,JVM生成了一个hs_err_pidXXXX.log文件,这在调试此类错误时非常有用。 但是,它似乎总是转到当前的工作目录,从那里挖掘它很烦人,因为我们的其他日志文件都转到特定的“日志文件位置”。 是否可以为这些“崩溃转储”文件指定不同的位置? 怎么样?

如何使用Play Framework显示SQL?

我有一个使用数据库的Play应用程序,出于调试目的,我想显示JPA使用的SQL。 我怎样才能做到这一点?

slf4j使用jdk进行日志记录 – 如何启用调试?

默认情况下,slf4j与jdk( slf4j-jdk14-1.6.1.jar )一起使用时,不会记录调试消息。 我该如何启用它们? 我无法在官方文档,网络或此处找到有关如何启用它的信息。 我发现了一些信息(虽然失败了)在%JDK_HOME%/ lib中创建文件并在配置文件中定义了那里的级别。 但是,我想在编译/运行时定义级别,以便我可以从具有不同日志记录级别的IDE运行和调试我的应用程序。 是不是我可以设置一些环境变量,或VM arg?

JAX-RS 2打印JSON请求

我希望能够从请求中打印JAX-RS 2 JSON有效负载,无论我的应用服务器上的实际实现如何。 我在SO上尝试了建议的解决方案,但都包含了实际实现中的二进制文件(如Jersey等),我只允许在我的应用程序中使用javaee-api v 7.0。 我尝试在我的客户端上实现ClientRequestFilter和ClientResponseFilter,但它们不包含序列化实体。 这是客户的一个例子: WebTarget target = ClientBuilder.newClient().register(MyLoggingFilter.class).target(“http://localhost:8080/loggingtest/resources/accounts”); Account acc = target.request().accept(MediaType.APPLICATION_JSON).get(account.Account.class); 这是MyLoggingFilter的实现: @Provider public class MyLoggingFilter implements ClientRequestFilter, ClientResponseFilter { private static final Logger LOGGER = Logger.getLogger(MyLoggingFilter.class.getName()); @Override public void filter(ClientRequestContext requestContext) throws IOException { LOGGER.log(Level.SEVERE, “Request method: {0}”, requestContext.getMethod()); } @Override public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException […]

使用Log4J 1. *,如何将两个包写入两个单独的文件?

我有以下两个包: com.mycorp.project.first com.mycorp.project.second 我想配置Log4J(SLF4J)将日志从一个包写入一个文件,并从另一个包写入第二个文件。 我不希望他们混在一起。 要清楚,这是一个项目/一个进程正在运行。 我尝试过滤和使用logger但是它们似乎被log4j忽略了。 两个文件总是相同的。 编辑:谢谢你到目前为止的答案,这是我得到的,它不起作用。 两个输出文件都是相同的。 dev A:/dev/LogTesting/logs/first.log INFO A:/dev/LogTesting/logs/first.%d{yyyyMMdd}%d{_HHmmss,aux}.log.gz %d{MMM dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} – %msg%n A:/dev/LogTesting/logs/second.log INFO A:/dev/LogTesting/logs/second.%d{yyyyMMdd}%d{_HHmmss,aux}.log.gz %d{MMM dd HH:mm:ss.SSS} %property{HOSTNAME} [%thread] %level %logger{36} %msg%n

如何读取log4j输出到网页?

我有一个用于管理目的的网页,它运行一项任务(从远程站点获取图像)。 为了能够仅使用浏览器调试任务,没有ssh等,我希望能够从执行线程读取所有日志输出并将其吐出到网页。 任务归结为: 在呼叫开始时更改当前线程的日志级别,并在完成呼叫时恢复。 读取当前线程的所有日志输出并将其存储在字符串中。 所以在伪代码中,我的execute()方法看起来像这样:(我正在使用struts2) public String execute() throws Exception { turnLoggingLevelToDebugOnlyForThisThread() … do stuff… restoreLoggingLevelForThisThread() String logs = readAllLogsByThisThread(); } 可以用log4j完成吗? 我正在使用tomcat,struts2,log4j和slf4j。 编辑1:我应该注意,动机是能够在网页上看到现有日志,而无需在代码中添加新的日志行。 想象一个漂亮的Web调试界面,它允许您运行操作,结果会吐出操作的日志。 编辑2:我还应该注意到我已经在使用log4j(通过slf4j)和一个log4j.xml,所以我正在寻找的解决方案需要将当前的日志记录系统放在一边,而不是破坏它。

如何映射java.util.logging和SLF4J记录器的级别?

如何将java.util.logging中的日志记录级别映射到SLF4J? SLF4J 跟踪 调试 信息 警告 错误 致命 java.util.logging中 最好的 细 精细 配置 信息 警告 严重

如何使用log4j关闭注销?

我正在使用具有log4j.xml配置的第三方库 – 关闭日志记录的最佳方法是什么?

在静态和非静态上下文中创建SLF4J记录器的开销是多少?

我总是使用以下模式构建(SLF4J)记录器: private static final Logger log = LoggerFactory.getLogger(MyClass.class); 到目前为止这已经奏效了,但我想知道static上下文在某些时候需要传递具体的类文字,而不是仅仅使用非静态记录器 private final Logger log = LoggerFactory.getLogger(getClass()); 这之前基本上已经问过(并回答过)LOG4J 记录器应该是私有静态还是非静态 和这里 记录器应该是最终的和静态的吗? 我意识到final基本上是强制性的,所以我想知道在非静态上下文中使用SLF4J的开销实际上有多高。 问: 使用是否有任何重大的实际开销 private final Logger log = LoggerFactory.getLogger(getClass()); 过度 private static final Logger log = LoggerFactory.getLogger(MyClass.class); 在普通 (网络)应用程序? (这里不需要“讨论”高端,重载的webapps) 注意,我最终计划使用更好的方法使用CDI来获得SLF4J记录器 @Inject private final Logger log; 如http://www.seamframework.org/Weld/PortableExtensionsPackage#H-TtLoggerttInjection所述 ,但我需要先了解记录器缓存。 子问题:甚至可以使用?: @Inject private static final Logger log; (刚开始用CDI开头)

使用tomcat 6在Spring webapp中设置Commons Logging / Log4j的问题

我在tomcat 6下部署的apring webapp中的日志设置有问题。 webapp使用commons-logging api,应该使用运行时log4j。 日志文件已创建但仍为空 – 不会发生任何日志条目。 设置如下: WEB-INF / web.xml文件: log4jConfigLocation /WEB-INF/log4j.xml org.springframework.web.util.Log4jConfigListener WEB-INF /class/ commons-logging.properties: org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger WEB-INF / log4j.xml文件: … … 创建了文件logs / my.log,但没有显示日志。 这是tomcat控制台上的信息日志,但没有配置布局模式。 commons-logging-1.1.1.jar和log4j-1.2.14.jar包含在WEB-INF / lib中。 知道这里有什么问题吗?