Logging 针对多个脚本的简单Groovy Logback配置

Logging 针对多个脚本的简单Groovy Logback配置,logging,groovy,logback,Logging,Groovy,Logback,我有以下资料: C:\Scripts\Groovy\foo.Groovy @Grab (group = 'ch.qos.logback', module = 'logback-classic', version = '1.1.3') def logger = org.slf4j.LoggerFactory.getLogger ('foo') logger.info ("Hello, Foo!') C:\Scripts\Groovy\bar.Groovy @Grab (group = 'ch.q

我有以下资料:

C:\Scripts\Groovy\foo.Groovy

@Grab (group = 'ch.qos.logback', module = 'logback-classic', version = '1.1.3')
def logger = org.slf4j.LoggerFactory.getLogger ('foo')
logger.info ("Hello, Foo!')
C:\Scripts\Groovy\bar.Groovy

@Grab (group = 'ch.qos.logback', module = 'logback-classic', version = '1.1.3')
def logger = org.slf4j.LoggerFactory.getLogger ('bar')
logger.info ("Hello, Bar!')
脚本分别通过
groovy foo.bar
groovy bar.groovy
执行

问题:

  • 可以向每个脚本添加哪些代码行以附加日志 分别发送到“foo.log”和“bar.log”的消息
  • 可以个人 可以创建配置文件,例如“logback\u foo.groovy”和 “logback_bar.groovy”,将日志消息附加到日志文件
  • 能 公共配置文件,例如“logback.groovy”,用于 是否将消息附加到每个脚本的日志文件
  • 我有多个小型实用程序脚本,不想为每个脚本设置Gradle项目。我确实利用Gradle进行重大项目,并且我成功地完成了一个更大的项目

    我对Groovy和LogBack都是新手,因此请提供每个脚本/配置文件的内容以及执行脚本的命令。

    答案:

  • 您可以直接在静态初始值设定项中添加
    FileAppender
    ,如此问题的答案所示:

  • 您还可以将上述内容与每个脚本的单独配置文件结合使用:

  • logback\u foo.groovy

    foo {
        file = 'foo.log'
    }
    
    并使用
    ConfigSlurper
    读取:

    def config = new ConfigSlurper().parse(new File('logback_foo.groovy').toURL())
    assert config.foo.file == 'foo.log'
    
  • 但是,最好的方法是利用
    logback.groovy
    ,以便:
  • logback.groovy
    :(logback配置)

    foo.groovy
    :(
    bar.groovy
    类似)

    答复:

  • 您可以直接在静态初始值设定项中添加
    FileAppender
    ,如此问题的答案所示:

  • 您还可以将上述内容与每个脚本的单独配置文件结合使用:

  • logback\u foo.groovy

    foo {
        file = 'foo.log'
    }
    
    并使用
    ConfigSlurper
    读取:

    def config = new ConfigSlurper().parse(new File('logback_foo.groovy').toURL())
    assert config.foo.file == 'foo.log'
    
  • 但是,最好的方法是利用
    logback.groovy
    ,以便:
  • logback.groovy
    :(logback配置)

    foo.groovy
    :(
    bar.groovy
    类似)