【问题标题】:Changing appends programmatically以编程方式更改附加
【发布时间】:2012-09-30 00:16:31
【问题描述】:

我想获得一个附加程序并将其应用于不同的记录器。我在“logback.xml”中定义了一个附加程序。有没有办法获取此附加程序,更改文件位置并应用于记录器。

 <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>logg.log</file>
   <encoder>
     <pattern>%msg%n</pattern>
   </encoder>
</appender>  

这就是我添加新 FileAppender 并应用于特定记录器的方式。我需要一种方法来为现有的 appender 执行此操作。

    val fileAppender = new FileAppender()
    fileAppender.setFile("/location/logg.log")
    val roote = LoggerFactory.getLogger("FOO.Class")
    roote.addAppender(fileAppender)

【问题讨论】:

    标签: scala logging log4j logback


    【解决方案1】:

    你能不能只这样做(注意 - 未经测试):

    val roote = LoggerFactory.getLogger("FOO.Class")
    val appender = roote.getAppender("APPENDER_NAME_YOU_WANT_TO_GET")
    roote.addAppender(appender)
    

    见:Using getAppender() in Logback

    【讨论】:

    • 嘿,感谢您的帮助,是的,这将起作用,但我需要更改 appender 的文件位置,然后应用于记录器。是否可以执行 appender.setFile("my new location") 之类的操作,然后将其应用于记录器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2019-04-10
    • 2015-08-16
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多