java - 如何获取logback.xml中appender中设置的文件路径

标签 java filepath logback appender

我想在 logback.xml 的appender中设置文件路径(以及文件名) 我需要使用哪个类。请帮忙。以下是我的附加程序

<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
    <discriminator class="com.hotwaxmedia.logger.ThreadNameBasedDiscriminator"/>
    <sift>
        <appender class="ch.qos.logback.core.FileAppender">
            <file>runtime/logs/app-${threadName}.html</file>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%p %d ${threadName} [%logger{0} : %-5level] %msg%n%rEx</pattern>
            </layout>
        </appender>
    </sift>
</appender>

最佳答案

您可以通过编程方式加载附加程序

LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
for (Logger logger : context.getLoggerList()) {
  for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders();     index.hasNext();) {
     Appender<ILoggingEvent> appender = index.next();
  }
}

然后您可以验证 appender 是否是 FileAppender 并调用 getFile()。看看文档 http://logback.qos.ch/apidocs/ch/qos/logback/core/FileAppender.html

关于java - 如何获取logback.xml中appender中设置的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810713/

相关文章:

java - 控制台清除中的安全性 (Java)

java - 无论操作系统如何,如何在 Java 中获得干净的绝对文件路径?

python - 如何从文件路径中删除 %20?

java - 如何进行结构化日志记录?

spring-boot - Spring sleuth with Spring Boot(日志关联)- Traceid 和 SpanId 未显示

java - spring boot、logback 和 logging.config 属性

java - 无法在模拟器和设备上加载 Android Mapview Activity

Java - 绘画

Java - 使用字符串句子学习堆栈

file - 如何使用反斜杠符号和 2 个点 ('\..' 获取文件路径