以编程方式更改追加

时间:2012-09-30 00:16:31

标签: scala logging log4j logback

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

 <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)

1 个答案:

答案 0 :(得分:1)

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

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

请参阅:Using getAppender() in Logback