问题标签 [slf4j]

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 回答
109244 浏览

java - 日志框架不兼容

我正在构建一个小型 Java 应用程序并希望使用 logback 进行日志记录。

我的应用程序依赖于一个旧项目,该项目通过

...所以我的计划是使用

...将 JCL 日志重定向到

...并最终

所以我的应用程序可以通过其 slf4j API 通过 logback 登录,而旧库代码可以通过重定向登录到同一位置。

唉,这导致

我已经在其中一些 jar 上尝试了更高和更低的版本号,并且还通过 API 文档等进行了挖掘……但我无法找到并解决问题。

请帮忙?

虽然 logback 被认为是“战略”日志框架,但我对最终使用的日志机制有一些余地。不过,我希望使用 logback 或 log4j,并且我肯定希望通过通用配置将旧项目的日志记录合并到“新”日志记录框架最终成为的任何内容中。

0 投票
2 回答
10503 浏览

eclipse - Hibernate-annotations 3.4.0.GA and slf4j?

I have a maven project A that use hibernate-annotations 3.4.0.GA which use the slf4j-api version 1.5.5 (checked through the dependency tree in the pom.xml file). Further project A specifies slf4j-log4j12 version 1.4.2 as a dependency.

I have another maven project B which depend on project A. In project B I have specified the following dependencies:

which builds fine with maven from the command line. But when I run the project from eclipse launch configuration I get:

From this message its indicated to that I need to upgrade the binding in project A to 1.6.x, but I don't see how that is possible since its included in the hibernate dependency.

Is it possible to switch the binding (updating the classpath info) when running project B so it use the 1.6.1 version instead of the version from the hibernate project?

0 投票
3 回答
6693 浏览

java - Stop Hibernate console output, without log4j

As said in the title i want to stop Hibernate console output, without using log4j. I have tried to use log4j but i havent got anywhere. What i want is the console INFO outputs to stop. And if i am using log4j is it possible to do it without .properties or .xml files, just set the settings in the source. tnx

0 投票
1 回答
1467 浏览

spring - Spring:“SimpleLogger 似乎没有位置感知”异常

我在第一行代码的 Spring 应用程序中遇到异常:

我将 commons-logging-1.1.1.jar 配置为项目库。

这是堆栈跟踪:

java.lang.UnsupportedOperationException:记录器 [org.slf4j.impl.SimpleLogger(org.springframework.context.support.ClassPathXmlApplicationContext)] 似乎不知道位置。

在 org.apache.log4j.Category.log(Category.java:347) 在 org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:199) 在 org.springframework.context.support.AbstractApplicationContext.prepareRefresh (AbstractApplicationContext.java:456) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:394) 在 org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139) 在 org.springframework.context .support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)

0 投票
6 回答
149297 浏览

java - NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

我正在尝试运行此处给出的示例图块示例。

下面是我的 POM.xml:

当我尝试运行示例时,会引发以下错误:

任何想法?

我花了 30 分钟在谷歌上搜索,但找不到可能的解决方案。

请帮我...

0 投票
2 回答
13701 浏览

java - 开始 Hibernate 3.5 - 蚂蚁任务的问题

我正在尝试完成“Beginning Hibernate 3.5”,但遇到了最初的障碍。

当我运行时ant exportDDL,我收到以下错误:

执行以下蚂蚁任务:

这里发生了什么?ant compile工作正常,但exportDDL任务没有。sl4j jar 在类路径中,我下载了slf4j-simple-1.6.1.jar. 想法?

0 投票
1 回答
1525 浏览

java - 在 Glassfish 3.0.1 中部署的 Web 应用程序中处理 slf4j 日志记录的好方法是什么?

我有一个非常普通的 Web 应用程序,它使用 slf4j 进行日志记录,这很好,而且我已经使用了几个 slf4j 后端,没有任何问题。

在 Tomcat 下,我只是告诉 logback 指向文件系统中的一个位置并在那里登录,但现在我想在一个 Glassfish 3.0.1 实例中部署这个应用程序的几个独立实例,每个实例都在自己的域中,我现在发现我希望我的 slf4j 日志记录能够与 Glassfish 配合使用。

让 Glassfish 照顾我的伐木是一个好方法(我敢说“最好”)。我应该使用 logback 将日志展平到 System.out 并让 Glassfish 处理控制台输出,还是有更好的标准方法来访问 Glassfish 内部的记录器?


编辑:调查表明,GlassFish 3.0.1 既不提供 SLF4J API,也不提供对具有默认配置的 JSP 页面可见的类中的绑定。

通过提供 slf4j-api-X.jar 和 slf4j-jdk14-X.jar,slf4j-logging 事件被转发到由 Glassfish 正确捕获的 java.util.logging(参见http://docs.sun.com/app/ docs/doc/820-7692/abluj?l=en&a=查看详情)。

0 投票
9 回答
30048 浏览

java - 在单元测试中是否有任何简单的 slf4j 使用模式?

我在我的项目中使用 JUnit4 和 Hibernate3。Hibernate 依赖于 Slf4j,因此我的项目也包含这个库。现在我想在单元测试中使用 Slf4j 来记录补充测试信息。您能否提供一个简短的示例来说明我的单元测试应该是什么样子以便只记录一行文本?最好在多个测试中没有代码重复。

0 投票
1 回答
1455 浏览

slf4j - slf4j-log4j13 和 slf4j-log4j12 之间的冲突

我的 Maven 依赖项中包含 slf4j 1.6.1 和 Log4j 1.2.16。它曾经在以前的项目中运行良好。但是,最近我通过重用以前的一些代码库开始了一个新项目,然后我开始遇到一些奇怪的问题。

基本上发生的事情是不知何故 slf4j-log4j13 也包含在 war 文件中,很可能是通过一些其他依赖项的一些传递依赖关系。但是,当我使用“mvn dependency:tree”检查传递依赖项时,我没有找到“slf4j-log4j13”。

结果很棘手。我的war文件中有slf4j-log4j12和slf4j-log4j13。令人惊讶的是,它在我的 Mac OSX 系统上运行良好,不知何故。通过正常工作,我的意思是没有任何由它引起的冲突、异常或错误。但是,当我将它部署到另一台 Linux (Ubuntu) 64 位机器上时,它给我带来了麻烦。例外情况如下,

看起来 xmlResponseParser 正在使用 slf4j 但找不到 log4j 依赖项。这是由 slf4j-log4j12 和 slf4j-log413 之间的冲突引起的吗?为什么它只发生在 Linux 上?

我试图删除其中一个;但是,删除其中任何一个都会导致问题。我想看看有没有人有类似的经历。

0 投票
4 回答
13264 浏览

java - SLF4J 日志级别作为参数

我们正在寻找使用 SLF4J,但我们发现的一件事是您不能将级别指定为参数,即

你必须这样做

这阻止了通过方法传递所有内容,因此您可以将其他属性附加到类中的所有日志消息。

有没有办法使用 SLF4j 来实现这一点?