问题标签 [slf4j-api]

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 投票
4 回答
13760 浏览

java - slf4j-log4j12 与 log4j 之间的区别

在一个项目中pom.xml,我看到了如下所示的依赖项

slf4j-log4j12有人可以让我知道& 和 有什么区别log4j吗?

0 投票
0 回答
571 浏览

logback - log4j2 和 logback 不能一起工作

我想在 logback 上使用 struts 2.5,但所有记录到文件的内容只写入 tomcat 的控制台

我使用的罐子如下:

  • 支柱 2.5.13
  • logback 核心 1.2.3
  • logback-经典 1.2.3
  • log4j-api 2.9.1
  • log4j 到 slf4j 2.9.1
  • slf4j-api 1.7.25

非常感谢

0 投票
1 回答
616 浏览

java - Log4j 在本地但不在服务器上打印错误堆栈跟踪

我有一个在 Amazon EC2 实例上运行的 Java 应用程序。我正在使用 Apache log4j 日志框架来维护我的应用程序ERROR以及DEBUG日志。

但最近我无法使用logger.error(String Message, Throwable t).

我试着像这样记录,

.log文件只显示消息Exception occurred while fetching count from DB

我的log4j.properties文件看起来像这样

如果我在本地运行应用程序,我可以看到错误打印堆栈跟踪,但同样不适用于我的 Amazon EC2 实例。

log4j 版本是 1.7.2

JDK版本为1.7.0_151

任何帮助表示赞赏。谢谢你。

0 投票
0 回答
354 浏览

log4j - slf4j-ext NDC PatternLayout

NDC(嵌套诊断上下文)在:

使用 org.slf4j.MDC 实现。

在从 log4j2 实现迁移到使用 slf4j(现有 org.apache.log4j.NDC 到 org.slf4j.NDC)时,我遇到了如何在现有 PatternLayout 中引用 NDC 的问题:在我的 log4j2.xml 配置中,我有以下定义:

最初上面的 '%x' 将引用来自 log4j 的 NDC。问题是如何在上面的 PatternLayout 中引用在 org.slf4j.NDC 实现中的 MDC 映射上创建的可能的“NDC”键集。我试图查看是否有办法对在 MDC(在 org.slf4j.NDC 中)上创建的“NDC”密钥进行后缀,但无法找到解决方案。(即类似 %X{NDC},但允许显示以 NDC 开头的所有键,例如在 org.slf4j.NDC 实现中创建的键:“NDC0”、“NDC1”、“NDC2”……)我不确定这是否可能?

0 投票
5 回答
1199 浏览

android - 方便的 Kotlin LoggerFactory 简化

在 kotlin 中使用 SLF4J 或其他日志记录方法最方便的方法是什么?

通常开发人员忙于样板代码,例如

在每个班级中获得合适的记录器?

用 Kotlin 统一/简化它的最方便的方法是什么?

0 投票
2 回答
742 浏览

java - 什么是 Java 的简单日志门面?

我是新手,在观看推荐系统的 youtube 教程时,我遇到了 SLFJ。它是什么 ?

0 投票
1 回答
3517 浏览

logback - 如何限制日志上的堆栈跟踪显示?

我在 slf4j-api 1.7.7 上使用 logback 1.1.3。

我在这里阅读以下文档。

我试图限制日志记录并以下列方式引发异常的代码(我无法修改)。

我使用的日志格式如下。

而且我希望一些记录器将其堆栈跟踪的显示限制为 2 行,所以我想我可以简单地将其修改为文档中规定的以下格式。

我期待得到类似以下的东西。

但相反,我得到了以下内容。

日志被简单地重复,而不是被截断为 2 行。我究竟做错了什么?我该如何正确使用该ex{n}格式?我不喜欢为此编写自定义记录器。

0 投票
1 回答
740 浏览

logging - logger.getAppender 在哪里(从 log4j 迁移到 slf4j+log4j)

现有代码以编程方式设置记录器。它就是这样做的

现在,我已将logger对象从log4jlogger 更改为org.slf4j.Logger并收到该getAppender方法不存在的错误。这里的替代品应该是什么。

0 投票
1 回答
493 浏览

logging - 如何在 logback 的编码器模式中显示实例的身份哈希码?

编码器模式logback.xml类似

允许使用上下文信息(如当前线程和类名)增强日志消息。是否有可能System.identityHashcode(Object)在消息中显示身份哈希码(由 返回)?我不介意子类形式的自定义扩展,即使每个类或包的配置会很好。我只是不知道从哪里开始。

我知道我可以通过添加System.identityHashcode到每条日志消息来解决这个问题。这个问题的想法是提供一种可配置的方法。

我正在logback-classic通过 SLF4J API 1.7.25 访问 1.2.3,但不介意升级到 1.8.x 快照。

0 投票
2 回答
1128 浏览

java - 未选择 Slf4j 自定义提供程序实现

Slf4j 提供库来“欺骗”后端特定代码库,使其认为存在特定后端,同时将所有日志记录重定向到一个与 slf4j api 兼容的后端。

简而言之,log4j-over-sl4j 会将任何来自 log4j 特定日志的内容重定向到 slf4j。

所以我的类路径现在有了

slf4j-api *-over-slf4j slf4j-simple (to be removed)

我正在尝试为 slf4j 1.8+ 提供自定义日志记录后端(请不要问为什么)。为了开始这个,我已经将 slf4j-simple 复制到我的项目中。

当添加 slf4j-simple 作为依赖项日志记录按预期发生时,但是当我删除依赖项并在我自己的代码库中简单地保留完全相同的内容时,它不会拾取它(虽然不同的包)...

如何让 sl4j 看到我的自定义提供程序?

在此处输入图像描述

更新

我可以看到 jar 有一些额外的信息,可能是 slf4j 使用什么来选择提供者......

但是,在我的情况下,我的日志记录后端位于我自己的代码库中(我不想将其分离到库中),那么是否有一个 api 可以将您的提供程序设置为 SLF4J?

在此处输入图像描述