标签: apache-commons-logging

使用Quartz和Spring的NullPointerException

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

Exception in thread "org.springframework.scheduling.quartz.SchedulerFactoryBean#0_QuartzSchedulerThread" 
        java.lang.NullPointerException
    at org.apache.commons.logging.LogFactory.getCachedFactory(LogFactory.java:979)
    at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:435)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
    at org.quartz.core.QuartzSchedulerThread.getLog(QuartzSchedulerThread.java:475)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:404)
Run Code Online (Sandbox Code Playgroud)

以前有人看过这个吗?

java spring tomcat quartz-scheduler apache-commons-logging

2
推荐指数
1
解决办法
3513
查看次数

在JUnit测试中,BasicConfigurator默认不记录堆栈跟踪

在运行一些JUnit测试时,我从以下开始设置Log4J:

BasicConfigurator.configure()

然后我通过Commons Logging调用以下内容:

LogFactory.getLogger(this.getClass()).fatal(exception)

这不会打印堆栈跟踪(仅限异常消息).

我需要知道通过JUnit测试中使用的简化日志记录设置打印堆栈跟踪需要哪些步骤?我不想仅仅为JUnit测试完全配置Log4J,但如果必须,请告诉我.

java logging log4j apache-commons-logging

2
推荐指数
1
解决办法
427
查看次数

开源Java项目的日志框架选择

最近我向github 发布了我的开源java游戏服务器代码,并遇到了"我应该使用哪种日志"的困境.我希望我的库能为最终开发者提供最"易用性".我希望从这个问题中创建一个伪维基,以便面临同一问题的其他人可以有一个参考点.

1)如果您的开源项目是一个简单的Java库,那么可用于记录的选项有哪些.
一个.使用您自己的记录逻辑
b.打印到控制台,错误
c.使用像log4j,slf4j等库这样的库
2)最佳实践是什么?以上哪一项是对开源库的一般偏好?
3)对于一些着名的日志框架,如log4j,slf4j,commons-logging等,在选择它作为日志库时需要考虑的已知问题.
4)我选择的日志框架是否会影响另一个使用我的库?如果我使用特定的库,是否存在不兼容的可能性?

如果你有一些额外的评论,如"仅登录到控制台","不使用日志记录"等,请证明合理.

java open-source log4j slf4j apache-commons-logging

2
推荐指数
1
解决办法
971
查看次数

SLF4J,通用日志记录,控制台输出

我有这个第三方图书馆:

  • SLF4J-API-1.5.5.jar
  • SLF4J-jdk14-1.5.5.jar
  • JCL-过SLF4J-1.5.5.jar

我想针对这个库编写一些测试并查看它的日志输出,我不想再添加任何日志库(没有log4j或其他任何东西).

据我所知,SLF4J和通用日志都记录抽象性,因此我可能需要写我自己的简单具体记录器(或许不是,因为JCL-过SLF4J包括org.apache.commons.logging.impl.SimpleLog?).如果是这样,我应该实现哪些接口,更重要的是,如何设置SL4J/Common Logging以在我的测试中使用我的记录器?我在SLF4J文档中读到我必须修改StaticLoggerBinder类 ...这是否真的意味着我实际上必须下载SLF4J源代码,修改类并重新编译它?

java apache-commons slf4j apache-commons-logging

1
推荐指数
1
解决办法
6132
查看次数

如何修复在本机模式下找不到的“org.apache.commons.logging.impl.LogFactoryImpl”

在本机模式下运行休息服务时,我得到一个类 org.apache.commons.logging.impl.LogFactoryImpl not found 异常。它在 openjdk 模式下运行良好。

我已经写了一个小的服务休息来解决这个问题。

服务休息:

package org.acme.rest.json;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; 

import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
import io.quarkus.deployment.annotations.BuildStep;

@Path("/logs")
public class LogResource {
   private Log log = LogFactory.getLog(LogResource.class);
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        log.info("jello");
        return "hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

调用此文件时,我得到


xception handling request 04cf25a8-aafb-4b2a-978e-47a24009b22d-1 to /logs: org.jboss.resteasy.spi.UnhandledException: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
Run Code Online (Sandbox Code Playgroud)

apache-commons-logging quarkus

1
推荐指数
1
解决办法
1611
查看次数