问题标签 [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.

0 投票
2 回答
2479 浏览

axis - Apache 轴日志记录 - 在 Jira 插件中使用时出现 ClassCastException

我的 Jira 5.0 插件已损坏,但有以下异常:

作为参考,这是抛出 ClassCastException 的方法:

...作为进一步参考,org.apache.commons.logging.LogFactory.FACTORY_DEFAULT 是“org.apache.commons.logging.impl.LogFactoryImpl”,FACTORY_PROPERTIES 应该是要搜索的属性文件的名称,其中在我的 org.apache.commons.logging jar 中是“commons-logging.properties”。

我尝试在插件的资源目录中创建一个 commons-logging.properties 文件;该文件包含以下内容:

...但它似乎被忽略了,因为 getLogFactory() 仍然得到 SLF4JLogFactory 并且无法转换它。所以它看起来像:

  • 这个 commons-logging.properties 文件需要在其他地方
  • 我需要将日志记录类设置为别的
  • 该项目配置错误,可能在 Jira 级别,或者可能在插件或 Maven 或......我什至不知道

我很困惑,并希望得到任何指导。

这里有一个类似的问题,除了海报在 getLogFactory 中从 org.apache.axis.attachments.AttachmentsImpl 而不是 org.apache.axis.description.OperationDesc 的初始化中得到了相同的异常。(也是一个 Confluence 插件,而不是 Jira。)但是没有人在那里回应。

0 投票
2 回答
4513 浏览

java - 获取电子邮件客户端不支持通过 Java 发送电子邮件的 HTML 消息

我正在使用apache-commons-logging.jar发送电子邮件。我能够成功发送 html 电子邮件,但很少有人在他们的邮件中收到您的电子邮件客户端不支持 HTML 消息消息。以下是代码示例 -

我不明白如何解决这个问题。

请大师帮助我。

提前致谢。

0 投票
2 回答
54327 浏览

java - 使用 org.apache.commons.logging 写入日志文件

我正在编写一个应用程序,我需要使用库将日志写入文件org.apache.commons.logging,但我不知道如何开始。

谁能帮我?

谢谢和最好的问候。

0 投票
1 回答
1155 浏览

java - SLF4J 桥接所需的配置文件

我正在编写一个 Java 应用程序,它将使用 SLF4J 来处理具有 JUL 运行时绑定(Java Utils Logging)的日志记录。因此,我的类路径将拥有slf4j-api-1.6.4.jarslf4j-jdk14-1.6.4.jar

JUL 可以通过配置,logging.properties所以我的类路径中也需要它。

为了确保我的所有 3rd 方依赖项都记录到相同的 JUL 配置,我计划将以下所有桥接器也放在我的类路径中:

  • jcl-over-slf4j-1.6.4.jar
  • log4j-over-slf4j-1.6.4.jar

JCL 是通过配置的commons-logging.properties,Log4J 是通过配置的log4j.properties

我的问题:我是否需要在我的类路径中放置commons-logging.propertieslog4j.properties,或者由于 SLF4J 桥,这是否不必要?

我 90% 确定我不必这样做,但需要在这里进行健全性检查!我的理论是,这些桥将普通的 JCL/Log4J 类替换为只是盲目地调用 SLF4J API 调用的存根。

反过来,这些 SLF4J API 调用,就像我的代码一样,使用它们在运行时绑定的任何实现。由于我的绑定是 JUL,因此只需要一个logging.properties文件。

但我不是伐木专家,我宁愿安全也不愿后悔。那么我是否需要这些额外的配置文件,如果需要,请解释原因,以便我更好地了解 SLF4J 的工作原理!提前致谢!

0 投票
2 回答
1740 浏览

osgi - OSGi 化的 Apache Commons 日志记录?

我需要一个 OSGi 化版本的 Apache POI,但找不到,所以我使用 BND 构建了一个。BND 声称 Apache POI 需要 Apache Commons Logging。所以我寻找了一个 OSGi 化的版本,但没有找到。所以我使用 BND 构建了一个。BND 声称 Apache Commons Logging 需要“Apache Excalibur”和“Apache Avalon”,它们显然是与日志相关的已退役 Apache 项目。我猜我将无法找到这些的 OSGi 化版本。

我真的需要这些东西吗?或者仅仅是因为 Apache Commons 可选地支持 Excalibur 和 Avalon,不管它们是什么?在这种情况下,我可以告诉 BND 考虑这些是可选的,而不关心我没有它们的事实吗?

或者,是否有人知道“真正的”OSGi 版本的 Commons Logging,它已经以比我半途而废的“让 BND 弄清楚”方法更深思熟虑的方式处理了这些(和其他)问题?

提前致谢。

编辑:需要明确的是,BND 并没有真正声称 Commons Logging 需要 Avalon 和 Excalibur。相反,它声称它需要包 org.apache.avalon.framework.logger 和 org.apache.log。这些包裹(在我看来)似乎分别来自 Avalon 和 Excalibur。

0 投票
1 回答
1441 浏览

log4j - log4j 在特定的 Weblogic 服务器上不产生输出

我们正在分发一个应用程序,该应用程序作为一组 WAR 文件部署在各个客户站点的各种 WebLogic 服务器(9、10 和 11)中。这些应用程序使用 commons-logging 和 log4j。除了在我们的应用程序没有生成日志的特定站点之外,它在任何地方都可以完美运行。该站点位于 11g 上,并安装了许多其他 Oracle 软件(BPEL、OSB 等)

在我们的代码中,我们使用:

由于我们想让客户调整他们的日志配置,我们在服务器 CLASSPATH 中有一个配置文件夹:

在该文件夹中,有两个日志文件 commons-logging.properties:

和 log4j.properties:(这是一个具有相同问题的简化文件,实际文件包含 5 个具有各种参数的记录器)

文件 fooapp.log 已创建(因此它能够找到属性文件)但为空。我试图检查 Weblogic 中的日志设置,但它们在工作和不工作的服务器上似乎是相同的。我将 CLASSPATH 复制到我的服务器,它仍然可以正常工作。

我真的不知道该去哪里找了。有任何想法吗 ?

0 投票
2 回答
3616 浏览

java - 用于 Java 日志记录的 Google 库?

是否有来自 Google 的 Java 日志库?

我一直在使用Google Guava库,发现它比 Apache Commons 更适用于参数验证(即检查先决条件、不变的对象状态、方便地将正确的Exception类型放在null、empty String、内联null检查赋值、Exception消息格式和可空的特殊类型类型)。我没有看过图书馆的其他功能,但这足以让我切换。

现在很自然的问题:

我正在使用Apache Commons Logging进行日志记录,就像我为参数验证所做的那样。我可以切换到谷歌框架的类似“ this go to 11 ”,并带来复合收益吗?我不介意 Log4j 或 Commons,但 Guava 在我研究的方面比 Commons 好得多......

我看到 Android 有它的日志框架,我喜欢它,Google 是否也为基本 Java 提供了一个?


编辑:重新阅读我的问题,我意识到它可能以某种方式暗示对谷歌代码的教条偏好,这是我没有的,并且潜在的假设是谷歌产生的任何东西都将是“完美的”。我根本不持有这些“积极的先入之见”,我的意思是,但未能以书面形式传达的是,为两层采用单一提供者可能会有一些协同作用。可能有一些东西可以智能记录,例如 Guava Optional 对象或关联对象,从而节省构建特定 String.format() 的时间。我一直在寻找一个谷歌图书馆来利用这些潜在的协同作用,而不是先验偏爱。事实上,在决定切换之前,我确实首先将 Guava 与我以前基于 Commons 的参数检查方式进行了比较。考虑到所有因素,我非常感谢 Google 免费发布的代码,我认为我从中学到了很多,并将继续这样做,因为它的质量非常高。不过,我从未允许这成为一种邪教。


参考:

0 投票
0 回答
1617 浏览

java - 记录 Apache POI 独立应用程序

我正在尝试使用 log4j 记录在 Apache POI API 中执行的操作。

我在属性文件中有以下配置:

而且,对于 NetBeans,我分配了以下 VM 选项:

“apachepoi.log”文件已创建,但其中没有写入任何行。最奇怪的是:如果我有 JBoss 实例的 VM 选项,它会记录 Apache POI 的操作。问题是我在独立应用程序上需要它

- 编辑

也在 Linux 环境下尝试过,但保持不变:使用 JBoss 写入日志,但不在独立应用程序上

0 投票
1 回答
1002 浏览

log4j - log4j 记录到控制台但不是 File blazeDS

我看到使用 log4j 的奇怪行为,我完全被难住了。这是我第一次将它与 BlazeDS 一起使用,我希望这是我错过的一个小问题。

在这个 Web 应用程序中,我使用 log4j 从 2 个 java 类以及 blazeDS 进行日志记录。我通过 org.springframework.flex.core.CommonsLoggingTarget 将 BlazeDS 连接到 commons-logging,然后使用 log4j 作为底层记录器。

我在 blazeds 记录器下为“Console”和“MyFile”设置了附加程序,当控制台输出按预期工作时,没有任何内容写入 MyFile。该文件实际上已创建,但保持在 0KB。另一方面,我的两个 java 类都很好地记录到控制台和它们的滚动文件。我在本地测试和部署到 Tomcat 时都看到了这种行为。

最后一个细节 - 在本地测试时,我将 MyFile 路径更改为绝对路径,并看到该文件已附加到。这会让我相信这是相对路径的问题,但是它在我的 java 日志记录中运行良好。

commons-logging.properties:

log4j.xml:

服务-config.xml:

0 投票
1 回答
1108 浏览

java - java - 如何限制子类日志级别传播到java中的父类?

我正在分析应用程序日志,发现有很多调试日志来自 spring 库之一中的一个类。

如果我的自定义类的日志级别设置为调试,我在 spring 中扩展了一个类,它在整个父层次结构中打开了调试日志。

我想设置日志级别以调试我所有的应用程序特定类,同时保持所有其他类的信息。