草庐IT

java - 如何使用 log4j2 Commons Logging Bridge

我想在commons1.2中使用log4j2CommonsLoggingBridge。我尝试使用如下内容:importorg.apache.logging.log4j.jcl.LogFactoryImpl;publicclassMyClass{privatestaticLoglog=LogFactoryImpl.getLog(DropinsBundleDeployer.class);...log.error("Erroroccured",e);}但是当我运行代码时出现以下问题并且看不到任何日志:log4j:WARNPleaseinitializethelog4jsystemproper

java - 跨线程保留 Java 堆栈跟踪

我正在使用ExecutorService异步发送邮件,所以有一个类:classMailerimplementsRunnable{...处理发送。记录任何被捕获的异常,例如(匿名):javax.mail.internet.AddressException:fooisbaratjavax.mail.internet.InternetAddress.checkAddress(InternetAddress.java:1213)~[mail.jar:1.4.5]atjavax.mail.internet.InternetAddress.parse(InternetAddress.java:10

java - 什么时候默认不在 logback 中使用 AsyncAppender

Logback支持对类使用异步附加程序ch.qos.Logback.classic.AsyncAppender根据文档,这将减少应用程序的日志记录开销。那么,为什么不直接将其设置为默认值呢?使用同步附加程序可以更好地服务于哪些用例。我在Asyncappender中看到的一个问题是日志消息不会按时间顺序排列。还有其他类似的限制吗? 最佳答案 AsyncAppender充当另一个appender的调度程序。它缓冲日志事件并将它们分派(dispatch)给例如FileAppender或ConsoleAppender等。为什么要使用Asyn

java - 为 Log4J2 + Apache HttpClient 启用调试日志记录

我正在尝试为我的ApacheHttpClient激活调试日志记录,但无法使其正常工作(根本没有与HttpClient相关的日志记录输出)。这是我目前使用的log4j2配置:%d%p%c{1.}[%t]%m%n例如,将hibernate级别从警告更改为调试非常有效。我正在使用这些库:org.apache.httpcomponentsfluent-hc4.2.6org.apache.httpcomponentshttpclient4.2.6org.apache.httpcomponentshttpcore4.2.5org.apache.httpcomponentshttpclient-ca

java - 带有滚动文件附加程序的 Log4j2 AsyncLogger 不显示文件行号

我使用具有以下依赖项的log4j2:org.apache.logging.log4jlog4j-api2.0-rc1org.apache.logging.log4jlog4j-core2.0-rc1com.lmaxdisruptor3.0.1Log4j2.xml内容:%d{ISO8601}[%t]%p%c%L-%m%n结果一切正常,除了日志没有显示抛出记录器的行号(模式中的%L)。我用谷歌搜索了一下,发现对于异步记录器和滚动文件附加器,没有提到使用%L,那么我该如何实现呢?或者它不支持%L?编辑:我已尝试添加includeLocation="true",但结果仍然相同2014-05-2

java - 如何修复 ClassNotFoundException : org. apache.commons.logging.LogFactory?

当我运行应用程序时出现异常Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactoryatorg.hibernate.dialect.Dialect.(Dialect.java:58)Causedby:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactoryatjava.net.URLClassLoader$1.run(URLClassLoader.java:202)atjava.s

java - log4j2 java.lang.NoClassDefFoundError : org/apache/logging/log4j/LogManager 错误

我在我的java应用程序中使用log4j2.3。我通过maven添加了依赖项。在eclipse中运行程序时一切正常,但是当我用maven打包并尝试运行jar时,出现以下错误:Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apachelogging/log4j/LogManageratmain.myclass.(myclass.java:11)Causedby:java.lang.ClassNotFoundException:org.apache.logging.log4j.LogManageratjava.net.U

java - 如何知道什么时候日志消息过多?

我发现了一个非常好的用于解析CUE文件的库。但是当我开始阅读它的源代码时,我发现它几乎不可读:publicvoidsetParent(finalCueSheetparent){FileData.logger.entering(FileData.class.getCanonicalName(),"setParent(CueSheet)",parent);this.parent=parent;FileData.logger.exiting(FileData.class.getCanonicalName(),"setParent(CueSheet)");}每个方法都有logger.enter

java - 将速度日志记录更改为控制台

我正在尝试将Velocity与现有的log4j.xml配置相集成,但遇到了瓶颈。我似乎无法让它使用控制台附加程序-无论我尝试了什么,它都会一直发送到velocity.log。Java代码:Velocity.setProperty("runtime.log.logsystem.class","org.apache.velocity.runtime.log.Log4JLogChute");有谁知道如何让它正常工作?TIA 最佳答案 我通过添加以下属性让它工作:Velocity.setProperty("runtime.log.logsy

java - 非静态日志能说得过去吗?

我是使用Apache公共(public)日志记录完成日志记录的代码库的唯一维护者。所有类都包含这两个导入:importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;然后很多类都包含这样的非静态日志实例化:/**Thelog.*/privateLoglog=LogFactory.getLog(Xyz.class);这有道理吗?我可以安全地将所有这些更改为静态调用吗?编辑关于它(显然)可以派上用场的特殊情况:我的问题确实更多“整个代码库中的非静态日志是否合理?”