问题标签 [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 投票
3 回答
9347 浏览

java - Java 和 Apache Commons Logging 的 Simple Logging Facade 之间的区别

Java 的 Simple Logging FacadeApache Commons Logging有什么区别?

0 投票
2 回答
2511 浏览

jakarta-ee - ColdFusion 日志记录重新路由到 Log4J

我目前在 J2EE 环境 (JBoss) 中使用 ColdFusion 8.01,并希望清理写入日志的内容。目前 ColdFusion 将所有内容记录到 STDOUT,而不是使用像 commons 或 log4j 这样的适当记录器。有没有人设法改变这一点?也许您可以设置一些隐藏的属性,或者将 log4j.properties 隐藏在某个位置。由于 ColdFusion 具有 CFLog(输出到 STDOUT),因此我希望尽可能通过 commons 查看该输出。

0 投票
6 回答
6176 浏览

java - 是否值得将日志框架包装在附加层中?

我目前正在考虑升级中型到大型 Java 代码库中的日志记录机制。当前使用Debug类上的静态方法记录消息,我建议将其切换到 SLF4J 或 commons-logging 之类的东西。

应用程序架构师更喜欢我封装对 SLF4J 的依赖(可能通过将其包装在上述Debug类中)。这将使将来更容易更改日志记录实现。

这对我来说似乎有点矫枉过正,因为 SLF4J 已经抽象了具体的日志记录实现。

是否值得将 SLF4J 之类的第 3 方日志抽象封装在另一个本土抽象中?

0 投票
2 回答
3716 浏览

java - NullPointerException 与 Quartz 和 Spring

我正在使用 Spring Quartz 集成,每次尝试关闭 Tomcat 时,Quartz 进程都无法关闭。这是堆栈跟踪:

以前有人这样看吗?

0 投票
1 回答
5298 浏览

java - 未使用 JDK 日志记录和 Commons-logging 创建日志文件

当我运行TestJcLLoggingService类日志消息时,控制台会出现但没有创建日志文件,如果您知道答案,请帮助我。

下面粘贴了两个源文件。

TestJcLLoggingService.java

日志记录属性

提前致谢。

0 投票
8 回答
22828 浏览

java - Java Logging:显示调用者的源代码行号(不是日志辅助方法)

Java 的众多(叹息......)日志框架都很好地显示了创建日志消息的方法的源文件名的行号:

但是如果中间有一个辅助方法,实际的调用者将是辅助方法,这并没有太多信息。

在确定要打印的源位置时,有没有办法告诉日志记录系统从调用堆栈中删除一帧?

我想这是特定于实现的;我需要的是通过 Commons Logging 的 Log4J,但我有兴趣了解其他选项。

0 投票
3 回答
38992 浏览

java - commons-logging 和 log4j 属性文件

我正在尝试通过 commons-logging 使用 log4j,如果 log4j 属性文件不称为 log4.properties,则会出现问题。我收到以下错误:log4j:WARN No appenders could be found for logger (LogMePlease)。log4j:WARN 请正确初始化 log4j 系统。

我的代码很简单:

在我的类路径中,我有: commons-logging.properties文件,其中包含以下条目

log4j-test.properties文件

当我运行这段代码时,我得到

如果我将 log4j-test.properties 文件重命名为 log4j.properties - 那么一切正常。所以,问题是如何设置公共日志记录以使用 log4j.properties 文件的任意名称。

0 投票
1 回答
581 浏览

logging - log4j 和 Commons Logging 共存

在我的应用程序中,我使用了 log4j 和一些 3rd 方 jars。这些 3rd 方 jar 之一正在使用 Commons Logging。现在,每当我使用该 3rd 方 jar 中的类时,日志消息都会以某种方式由两个单独的附加程序处理。例如:

  • 在我的 log4j.properties 我已经指定:

    • log4j.logger.myClass=DEBUG, serverFile, defaultSTDOUT,其中 serverFile 是 org.apache.log4j.RollingFileAppender 而 defaultSTDOUT 是 org.apache.log4j.ConsoleAppender
  • 在我的代码中,我执行 Logger logger = Logger.getLogger(myClass.class) 然后我像 logger.debug("debug message") 一样使用它

  • 在控制台中我看到

调试 [2009-10-14 16:08:34,415] - 调试消息

51215 [Thread-13] 调试 myClass - 调试消息

第一行是我的,第二行可能是因为那个 3rd 方 jar。如何确保只显示我的日志消息?

0 投票
3 回答
2208 浏览

log4j - Log4j 与 JCL

我正在寻找有关 JCL 的更多最新建议。我需要选择使用 JCL 还是直接使用 Log4j。我可以看到 JCL 的好处,但是诸如http://www.qos.ch/logging/thinkAgain.jsp之类的文章让我有些不安。但是,这些文章有点旧,搜索 JCL 错误修复似乎表明其中一些问题可能已经解决。我希望对这个问题有更近期的看法。有什么想法吗?

0 投票
2 回答
1699 浏览

java - 如何让 Eclipse/Jetty/GWT2.0 找到 org/apache/commons/logging/Log

我按照http://blog.hivedevelopment.co.uk/2009/08/google-web-toolkit-gwt-mvp-example.html上的示例构建了示例 GWT 应用程序,但后来我想构建其他东西,我打算使用 Google AppEngine。我开始了一个新的 GWT2.0 + AppEngine 项目,并遵循添加相同库的相同设置,从示例项目中复制和修改了我的大部分代码。我的代码可以编译,但现在每次我尝试调试我的应用程序时,我都会收到此异常并且没有任何效果。每次我启动服务时,此异常都会重复两次。我以为我可能缺少 org.apache.commons.logging.Log,但是当我 ctrl+单击该路径时,它是 GWT SDK 中 gwt-dev.jar 的一部分。我需要做什么来解决这个问题?

2010 年 1 月 26 日上午 5:23:13 com.google.apphosting.utils.jetty.JettyLogger 警告警告:com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@460ab1b4{/,/home/asa/Projects/Java/ 失败杂货/购物/战争} java.lang.NoClassDefFoundError: org/apache/commons/logging/Log at com.asaayers.server.guice.ServerModule.configureHandlers(ServerModule.java:20) at net.customware.gwt.dispatch.server .guice.ActionHandlerModule.configure(ActionHandlerModule.java:38) 在 com.google.inject.AbstractModule.configure(AbstractModule.java:59) 在 com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) ) 在 com.google.inject.spi.Elements.getElements(Elements.java:101) 在 com.google.inject.InjectorShell$Builder.build(InjectorShell.java:135) 在 com.google.inject.InjectorBuilder.build( InjectorBuilder.java:102) 在 com.com.google.inject.Guice.createInjector(Guice.java:69) 在 com.google.inject.Guice.createInjector(Guice.java:92) 在 com.google.inject.Guice.createInjector(Guice.java:92) 在 com .asaayers.server.guice.MyGuiceServletConfig.getInjector(MyGuiceServletConfig.java:11) 在 com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:43) 在 org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler .java:530) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:135) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) 在 org.mortbay.jetty。 handler.ContextHandler.doStart(ContextHandler.java:500) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 org.mortbay.jetty.handler.HandlerWrapper .doStart(HandlerWrapper.java:117) 在 org.mortbay.jetty.Server.doStart(Server.java:217) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 com.google.appengine。 tools.development.JettyContainerService.startContainer(JettyContainerService.java:188) 在 com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:120) 在 com.google.appengine.tools.development.DevAppServerImpl.start( DevAppServerImpl.java:217) 在 com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:86) 在 com.google.gwt.dev.DevMode。doStartUpServer(DevMode.java:377) 在 com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:938) 在 com.google.gwt.dev.DevModeBase.run(DevModeBase.java:690) 在 com.google .gwt.dev.DevMode.main(DevMode.java:251) 引起:java.lang.ClassNotFoundException: org.apache.commons.logging.Log at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com.google.appengine.tools。 development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 31 更多dev.DevModeBase.startUp(DevModeBase.java:938) 在 com.google.gwt.dev.DevModeBase.run(DevModeBase.java:690) 在 com.google.gwt.dev.DevMode.main(DevMode.java:251)引起:java.lang.ClassNotFoundException: org.apache.commons.logging.Log at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net .URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java. lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 31 更多dev.DevModeBase.startUp(DevModeBase.java:938) 在 com.google.gwt.dev.DevModeBase.run(DevModeBase.java:690) 在 com.google.gwt.dev.DevMode.main(DevMode.java:251)引起:java.lang.ClassNotFoundException: org.apache.commons.logging.Log at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net .URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java. lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 31 更多690) 在 com.google.gwt.dev.DevMode.main(DevMode.java:251) 引起:java.lang.ClassNotFoundException: org.apache.commons.logging.Log at java.net.URLClassLoader$1.run(URLClassLoader .java:200) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com。 google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) .. . 31 更多690) 在 com.google.gwt.dev.DevMode.main(DevMode.java:251) 引起:java.lang.ClassNotFoundException: org.apache.commons.logging.Log at java.net.URLClassLoader$1.run(URLClassLoader .java:200) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com。 google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) .. . 31 更多200) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com.google.appengine .tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 31 更多200) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 com.google.appengine .tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 31 更多loadClassInternal(ClassLoader.java:320) ... 31 更多loadClassInternal(ClassLoader.java:320) ... 31 更多