问题标签 [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.
java - 在 SpringBoot 应用程序中使用 Java 的简单日志记录外观
我想使用@Slf4j 注释,所以我在我的 pom.xml 文件中导入了这个依赖项
但我有错误无法解析符号Slf4j
logging - SLF4J 中的自定义级别日志记录
在我的项目中,日志记录工作得很好。使用 Slf4j 进行日志记录。样品如下:
我们使用 log4j2.xml 进行日志记录配置。现在我的要求是制作一个具有 int 值 150 的自定义级别日志“VERBOSE”。我正在努力但似乎很难,或者我不知道 slf4j 是否具有提供自定义级别日志记录的灵活性。请协助。
apache-kafka - 使用 SLF4j 为 Apache Beam 和 Kafka 客户端配置日志记录
我使用 Apache Beam vs Kafka Clients 来处理我的数据,但是 Kafka Clients 库会产生很多消息,所以它们确实在堆栈跟踪中很混乱,我该如何更改这个包的日志级别?
依赖版本:slf4jVersion=1.7.29
,apacheBeamVersion=2.18.0
我已经添加了一个文件log4j.properties
,src/main/resources/
内容如下,但它似乎不起作用
构建.gradle
我想在我的日志中避免的日志消息:
java - 使用 SLF4J 简化惰性日志记录
我在 Spring Boot 应用程序中使用 SLF4J 和 Logback。我对使用惰性日志记录很感兴趣,经过一些研究,我想出了这个解决方案。
这按预期工作,如果日志记录级别不匹配,则不会调用方法。
如您所见,我正在创建新对象并一遍又一遍地覆盖 toString 方法。我不想这样做。有一个更好的方法吗?
我正在使用与 Spring Boot 启动器捆绑在一起的 SLF4J 1.7.28 版本。请注意,我更喜欢使用 SLF4J 而不是其他日志记录框架。
我尝试了 slf4j-api 2.0.0-alpha1版本以及slf4j-simple绑定,因为它具有 logger.atDebug.log() 实现。但我无法让它正常工作。
谢谢你。
logging - 如何使用主机应用程序提供的日志适配器从基于 Akka 的库中进行日志记录?
我正在制作一个小型库——Flow
真的是一个——并且想从它的代码中进行一些调试日志记录。该库将在基于 Log4J2 和 Logback 的应用程序中使用。我希望日志记录“刚刚发生”。
我做了什么:
所有库依赖项都是“提供”的:
我读过Akka Logging (Akka docs),但它是 2.4.20 版。2.6有类似的吗?
akka-slf4j
为库提供Logging
和LoggingFactory
类。logger在库中初始化的方式:
但是,不会发生日志记录。控制台输出,在提供 Logback 1.2.3 的主机上运行:
从这些链接之一:
此错误表明在类路径上找不到适当的 SLF4J 绑定。将 slf4j-nop.jar、slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar 或 logback-classic.jar 中的一个(也是唯一一个)放在类路径上应该可以解决问题。
如果我添加slf4j-simple
到库依赖项,我会得到日志,但它们没有着色。在我看来,我已经修复了库中的日志记录以使用它自己的日志记录实现——而不是我希望的主机。这个对吗?如何正确地做到这一点?
Akka 版本是 2.6.5
selenium - SLF4J:类路径包含使用 selenium-server 的多个 SLF4J 绑定错误
如何解决错误 Class path contains multiple SLF4J bindings while using selenium-server-4.0.0-alpha-5.jar
andgerrit-acceptance-framework-3.1.4.jar
错误堆栈跟踪:
log4j - 如何使用 log4j-over-slf4j 依赖关系在 Logger 对象中添加控制台 Appender?
我无法使用带有 log4j-over-slf4j 1.7.x 依赖项的 logger.addAppender 方法添加控制台附加程序。此外,我无法设置特定控制台 Appender 的目标(即 SYSTEM_OUT/SYSTEM_ERR)。
我已经初始化了一个控制台 appender 对象,并尝试通过将该引用类型转换为 Appender 来将该引用推送到 addAppender 方法中。但在这种情况下,我无法为控制台附加程序参考设置 Target/WriterLocation(即 SYSTEM_OUT/SYSTEM_ERR)。我使用了下面的代码片段-
ConsoleAppender ca = new ConsoleAppender(); ca.setWriter(new OutputStreamWriter(System.out)); // 此行与 log4j-over-slf4j jar 不兼容 ca.setLayout(new PatternLayout("%-5p [%t]: %m%n")); logger.addAppender(ca);
请帮我解决这个问题。
slf4j - SLF4J put 和立即 get 失败
我为 SLF4J MDC 编写了一个小包装器。
起初,在我调用“setId()”之后......我稍后会调用“getId”,它会为空。您可以看到我确实验证了线程名称......理解“线程”是允许 MDC 工作的“魔法”。
所以我在 MDC.put 之后立即做了一个 MDC.get,它返回为空。
???
嘎嘎。
在我的概念验证项目中,我有:
下面的确切版本:
概念验证和“真实”都给了我一个空 MDC.get(又名,我得到“MDC 没有持续存在。这怎么会发生??????”异常。
我能提供的唯一其他线索是我没有巨石。我有一个多模块 gradle 项目。
https://docs.gradle.org/current/userguide/multi_project_builds.html
我正在为我的版本使用变量(在我的根 build.gradle 中定义),所以我在任何模块中都没有不匹配的版本。
附加一个:
好的,所以我知道它为什么返回“null”。它使用混凝土
…………
java - 速度从 1.7 升级到 2.0
我正在尝试从使用 LogChute 接口的速度 1.7 迁移。在我当前的实现中,我使用 log 方法来获取速度日志级别并比较我们自己的日志级别。请看下面的代码。
根据 apache velocity 2.0 文档,不推荐使用 LogChute,并且 apache velocity 正在使用 SLF4J 进行日志记录。因此,我尝试将 SLF4j-API 和 SLF4J 绑定用作 SLF4J Simple Logger 和 WebApp SLF4J Logger,但无法使用该类,因为我需要将速度日志级别与我们的自定义日志级别进行比较。所有这些都需要在运行时发生。
对于当前速度配置,我遵循以下配置,这与基于 1.7 速度配置作为 services.VelocityService.runtime.log.logsystem.class=our.package.xclassName 调用的自定义类相同。
这是文档的链接(https://velocity.apache.org/engine/1.7/developer-guide.html#configuring-logging)
这些都在 2.0 版本中被删除。
有人可以帮我解决这个问题。我正在尝试升级速度。
spring-boot - Spring boot + slf4j + log4j + class org.apache.logging.slf4j.SLF4JLoggerContext 不能强制转换为class
我有Spring Boot 2.3.1
- pom.xml
- 班级
- 应用程序属性
- log4j.properties
我试图找到解决方案,查看了论坛上的类似主题,尝试了各种排除依赖项的选项。
线程“主”java.lang.ClassCastException 中的异常:类 org.apache.logging.slf4j.SLF4JLoggerContext 无法转换为类 org.apache.logging.log4j.core.LoggerContext(org.apache.logging.slf4j.SLF4JLoggerContext 和 org .apache.logging.log4j.core.LoggerContext 位于加载程序“app”的未命名模块中)
我还尝试排除一些依赖项
但是又报错了,但是现在不能格式化日志了。
2021-01-13 19:12:15,881 INFO - ++++++++++++++++++++++++TEST+++++++++++++++++++++++++++++ ERROR StatusLogger Unrecognized format specifier [d] ERROR StatusLogger Unrecognized conversion specifier [d] 从转换模式中的第 16 位开始。ERROR StatusLogger Unrecognized format specifier [thread] ERROR StatusLogger Unrecognized conversion specifier [thread] 从转换模式中的位置 25 开始。ERROR StatusLogger Unrecognized format specifier [level] ERROR StatusLogger Unrecognized conversion specifier [level] 从转换模式中的位置 35 开始。
...
ERROR StatusLogger Unrecognized format specifier [n] ERROR StatusLogger Unrecognized conversion specifier [n] 从转换模式中的位置 56 开始。警告:不支持 sun.reflect.Reflection.getCallerClass。这会影响性能。
任何人都可以对如何解决它有任何想法吗?