![]() |
1
3
简短回答: 通过将logback添加到模块路径并使用 --绑定服务 选项。在您的模块中,您只定义SLF4j的用法。
我用下面的部分在一个简单的例子中实现了它。 SLF4J is modularized 并使用 ServiceLoader 查找其日志后端的机制。 日志记录-经典:1.3.0-alpha4是模块化,并在 META-INF/服务/网址:slf4j.spi.SLF4JServiceProvider 在其模块描述符中:
因此,在我的POM(见下文)中,我只对Logback声明了一个运行时依赖关系,而我的模块描述符只包含SLF4J的“requires”子句。 我的模块”网址:com.github.gv2011.j9号后勤部“包含将语句记录到SLF4J记录器的主类。 此外,它还包含一个日志备份.xml配置文件作为资源。Logback可以访问这个文件,因为它是一个“杂项资源”,它是一个不在模块包中的资源(请参阅 BuiltinClassLoader Logback必须通过jlink明确添加到运行时映像中” --绑定服务 “选项(因为它是一个服务实现)。 --模块路径 :
pom.xml文件
日志备份.xml
:
:
输出(target/image/bin/hello)
|
![]() |
2
1
我终于明白了。最后,我在模块中添加了Logback作为依赖项-信息.java:
我想没有办法声明运行时依赖项(类似于Maven)——现在在编译时也需要它。 |
![]() |
Buddy · 无法禁用休眠日志记录 7 年前 |
![]() |
kheraud · 是否将Logback配置为在单行上有异常? 7 年前 |
![]() |
PegahK · 使用Logback在每个日志文件的开头添加一个表达式 7 年前 |
![]() |
Slavik Muz · 在logback中筛选标记 7 年前 |
![]() |
Xenon · Logback级别元素与级别属性 7 年前 |
![]() |
jonny · 使用logback仅显示来自一个类的日志 7 年前 |