问题标签 [apache-commons-logging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Apache 通用日志
让我们从两个类之间的默认日志代码开始:
执行:
A类:
B类:
执行:
在 B 类中,替换public static Log log = LogFactory.getLog(B.class);
topublic static Log log = LogFactory.getLog(A.class);
对应用程序的日志没有影响。
我怎样才能只登录到 A 类记录器?
java - JCL 通过 SLF4j 登录 Glassfish
我正在尝试在 Glassfish 服务器上设置应用程序日志记录。我使用 SLF4j 聚合所有内容并使用 Logback 绑定来编写文件。我还在项目中添加了log4j-over-slf4j
,jul-to-slf4j
和jcl-over-slf4j
库。当然slf4j-api
,Logback 也有。所有的库都在 projectWEB-INF/lib
和glassfish/lib/endorsed
.
所以想法是:将所有内容重定向到 SLF4j,然后使用 Logback 登录。
在代码中,我有以下要测试的部分:
执行后,Logback 配置的日志文件中有日志条目 og Log4j 和 SLF4j。但是没有 JCL 条目。他们改为访问 server.log 文件。
问题是:为什么 JCL 条目会被 Glassfish 记录器捕获,如何防止?
maven - Maven 构建 [警告] 我们有一个重复的类
有人知道我的 Maven 构建发生了什么吗?我收到很多重复的警告。
我查看了本地 m2 存储库,在 commons-logging-api jar 中有两个类,LogFactoryImpl.class 和 LogFactoryImpl$1.class。与警告中提到的所有类相同。
值得一提的是,我在 pom.xml 中使用了 shade 插件。
我注意到依赖树如下所示
并且 commons-logging.jar 和 commons-logging-api.jar 都有 org/apache/commons/logging/LogFactory.class。
不知何故,Shad 插件试图在最后把它们挤进一个大罐子里。然后出现警告。有人说这是可以忽略的警告。但是我有点担心,如果有两个同名的重复类,应用程序怎么知道应该使用哪个确切的类?
java - 配置 Commons Logging 以使用特定的 Log4J 属性文件
我正在尝试通过在 commons-logging.properties 中指定文件的名称来配置 Commons Logging 以使用特定的 Log4J 属性文件,但是 Log4J 继续查找名为 log4j.properties 的文件。
看来,如果 Log4J jar 在类路径中,则 commons-logging.properties 的内容将被忽略,但是如果我从类路径中删除 jar,则处理 commons-logging.properties 文件并正确地抛出一个错误说“用户指定的日志类 'org.apache.commons.logging.impl.Log4JLogger' 找不到或不可用。” 因此实际上正在读取公共日志记录属性文件。
Commons Logging 和 Log4J 属性文件都在类路径目录中。
我遇到了与commons-logging 和 log4j 属性文件中描述的相同的问题,但我不明白它所说的答案......
文件 commons-logging.properties 仅从 commons 日志中读取,而 log4j 将在系统属性中查找 log4j.configuration。
此外,这个答案似乎与 Commons Logging 用户指南中的信息相矛盾。用户指南说....
log4j.configuration= log4j.properties使用此系统属性来指定 Log4J 配置文件的名称。如果未指定,则默认配置文件为 log4j.properties。
即使我指定了 Log4J 配置文件的名称,它仍然使用默认值。
是否可以从 commons-logging.properties 文件中指定 log4j 属性文件的名称(例如 log4j-MyApp.properties),还是我误解了这两个组件如何相互交互?
java - 如何设置 commons-logging 以使用 logback?
我们使用 slf4j + logback,碰巧有一些使用 commons-logging 的第三方库。如何设置它以使用 logback?
java - 如何最好地调试 logger.info(...) , logger.error(...) 不写?
在一个大型项目中,我们有类似的东西:
我知道它运行时:我正在使用类org.apache.commons.logging.impl.Log4JLogger
因为我能够远程连接并在我的调试上放置一个断点并查看它是什么类。
我怎样才能弄清楚正在使用什么日志配置?它是从哪里捡来的?它是如何配置的?
ps 注意应用程序。实际上非常复杂,它在 Web 逻辑应用服务器中运行。我无权访问它的所有 java 代码。
psII我的想法是在execute方法中注入一些代码来确定到底log4j.properties在哪里,如果它在那里等等......
java - Log4JLogger'找不到或不可用的根本原因是什么?
我在类路径中有 commons-logging.jar (v1.0.4) 和 log4j-1.2.8.jar 并得到以下运行时错误:
osgi - OSGi 运行时中的 Commons Logging 包
我目前正在尝试在 Equinox 中捆绑启动。
此捆绑包需要公共日志记录。
我尝试包含来自 Maven Central 的最新公共日志记录 jar。没运气。
然后我搬到了 slf4j。这是我在 OSGi 控制台中的当前状态:
在日志中,我看到以下异常:
在 Equinox 3.8 中启动和运行公共日志记录兼容包的最佳方法是什么?
java - Glassfish:索引 11 处路径中的非法字符:commons-logging-1.1.jar?
所以我即将开发一个 Spring MVC Web 应用程序。但是每次我部署应用程序时都会出现一个例外情况:
java.net.URISyntaxException:索引 11 处路径中的非法字符:file:/E:/My Documents/NetBeansProjects/ProjectName/build/web/WEB-INF/lib/commons-logging-api-1.1.jar。
所以我想可能是 jar 损坏了,所以我下载了另一个也有同样问题的 jar 文件。这是什么原因造成的?
Web 应用程序本身运行良好。但这个例外仍然让我很恼火。
java - log4j 和弹簧
我正在开发一个 Java 桌面应用程序,并且我正在使用 Spring。现在我想使用 applicationContext.xml 将 log4j 注入我的类。我的 log4j 属性文件放在源文件夹 Resources/log4j.properties
在我的搜索过程中,我发现当它是一个 Web 应用程序时有很多方法,但我发现没有关于桌面应用程序的帮助。
我在我的源代码中使用 Apache 公共接口,现在我想注入 log4j 依赖项。
请帮帮我..