问题标签 [logback-classic]
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.
eclipse-plugin - 在 Eclipse 插件中未解析导出的包
我通过项目的目标平台定义(即另一个带有 的 Maven 项目)在我的一个包(Maven )中使用org.slf4j:slf4j-api:1.7.30
和ch.qos.logback:logback-classic:1.2.3。<packaging>eclipse-plugin
<packaging>eclipse-target-definition
slf4j-api
JARMANIFEST.MF
包含:
logback-classic
JAR 还包含该包及其org.slf4j.impl
包含MANIFEST.MF
:
如果我添加:
到我的包的 MANIFEST.MF` 只有前两个被解决。对于后者 Eclipse 显示错误:
捆绑“ch.qos.logback.slf4j”导出包“org.slf4j.impl”未解决
并且ch.qos.logback.classic_1.2.3.v20200428-2012.jar
在我的包的Plugin-Dependencies文件夹中仅显示ch.qos.logback.classic
包及其子包。
主要问题:
- 为什么
org.slf4j.impl
不被视为已导出,因此无法解决?
小问题:
Bundle-SymbolicName
错误消息中的 来自哪里?目标平台
v20200428-2012
定义中logback-classic
的 JAR的限定符从何而来?它不包含这个,而只是.MANIFEST.MF
Bundle-Version: 1.2.3
为什么要
slf4j-api
进口org.slf4j.impl
?不应该依赖 API 的实现,反之亦然?
更新
我找到了 2. 和 3. 的答案(不是第一次在编写 SO 问题时发生这种情况:):它来自 Eclipse 本身:https ://ftp.fau.de/eclipse/releases/2021-03/202103171000/plugins /
这也导致了 1. 的答案:我实际上并没有使用原始slf4j
和logback
JAR,而是来自 Eclipse 和ch.qos.logback.slf4j
's 的那些MANIFEST.MF
包含:
那么 5. 如何让包org.slf4j.impl
导出/导入呢?
java - 有没有办法在 logback.xml 中指定自定义转换器而不创建 Java 类?
我需要用输出替换标准的 logback stacktraceorg.apache.commons.lang.exception.ExceptionUtils#getStackTrace()
输出。我阅读了有关转换器的信息,但我想在不编写 java 类的情况下做同样的事情,只需编辑 logback.xml。有没有办法做到这一点?
我的 logback.xml 片段:
logging - 如何访问/修改 logback contirb 的 JacksonJsonFormatter 中的自定义字段
我已经实现了一个自定义 Json 格式化程序,用于在我的应用程序中使用 log-back 进行日志记录。在自定义 JSON 格式化程序中,我添加了几个自定义字段,我想动态更改它们的值,即在记录时更改其值。我怎样才能做到这一点。下面是我的 CustomJsonFormatter 代码
我用于控制台输出的 logback.xml 文件
我想在记录不同的错误时更改错误代码字段的值。我该怎么做 ?
java - 如何在 logback.xml 中定义 Map?
我想在我的自定义 logback 布局中注入一些静态标签。
Map<String, String>
在logback.xml中定义 a 的正确语法是什么?
基本logback.xml:
自定义编码器.java:
logback - 如何在 logback.xml 中的记录器名称中添加模式匹配?
我想知道是否有一种方法可以通过定义模式来创建记录器名称,然后来自该文件模式的所有日志都转到该记录器。
例如,我有几个类型为 com.file.test1.java、com.file.test2.java 等的文件。那么如何在一个记录器中为它们定义一种模式,以便它知道它应该从上述所有文件中获取日志。?目前是这样的——
logging - 如何使用 logback API 在 logback 配置中添加或删除记录器
目的是启用配置的动态重新加载。我知道改变水平是可能的。
但是,我在这里找不到任何用于添加或删除记录器的方法LoggerContext 。
例如,在下面的 logback 配置文件中,如果我想使用 API 添加名为“chapters.configuration”的记录器,我该怎么做?
logback - 如何保证记录器的最低 logback 级别?
在 Spring Boot 微服务中,有没有办法通过 logback 配置确保记录器至少具有最低日志级别?例如,如果我在logback-spring.xml
文件中定义了一个记录器,我想确保始终设置为INFO
、DEBUG
或TRACE
(因此,从不WARN
或ERROR
),我如何通过logback-spring.xml
配置或其他编程方式确保这一点?我想阻止用户进入微服务的配置并在微服务已经启动后执行以下操作:
在这种情况下,我希望我的com.acme.auditlogs
记录器始终至少记录,INFO
因为我的审核日志始终记录在此级别。
logback - 我可以有多个具有不同模式的 ConsoleAppender
使用 logback
当我使用 JSONAPPENDER 时,它会选择 CONSOLE 的模式,例如:2021-19-09 14:23:42.089 INFO [c442cab6aa340a7f,c442cab6aa340a7f] [http-nio-6090-exec-2] JSONAPPENDER : {values}
当我修改 CONSOLE %d{yyyy-dd-MM HH:mm:ss.SSS} 的模式时:%msg%n 然后它反映在 JSONAPPENDER 2021-19-09 14:23:42.089 JSONAPPENDER : {values}
我可以为 JSONAPPENDER 做些什么来拥有它自己的模式?
java - 有没有办法根据日志的内容更改日志的级别?
我正在使用 Logback 进行日志记录,在我的代码的几个地方,我有如下内容:
(大多数时候消息来自外部系统)
有没有更丑陋的方法?
logback - Logback:谨慎模式下基于大小的文件轮换
有没有办法在 Logback 模式下仅根据日志文件大小轮换日志文件prudent
?从文档中我看到模式(http://logback.qos.ch/manual/appenders.html#RollingFileAppenderTimeBasedRollingPolicy
)支持,但是基于大小的滚动策略呢?另外要明确的是,我不打算重命名任何日志文件。例如:prudent
使用 Logback v.1.2.3