加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何使用logback.groovy和groovy配置的logback

发布时间:2020-12-14 16:33:23 所属栏目:大数据 来源:网络整理
导读:我无法使用groovy通过logback.groovy配置的logback. 如果在目录中我有一个脚本文件,例如FooBar.groovy和文件logback.groovy 当我运行groovy FooBar.groovy groovy尝试编译logback配置文件而我的脚本不起作用时,我必须回退到默认的xml配置文件进行logback(log
我无法使用groovy通过logback.groovy配置的logback.

如果在目录中我有一个脚本文件,例如FooBar.groovy和文件logback.groovy
当我运行groovy FooBar.groovy groovy尝试编译logback配置文件而我的脚本不起作用时,我必须回退到默认的xml配置文件进行logback(logback.xml).

我怎样才能使这个工作?我可以调用groovy somefiles.groovy并配置groovy来忽略logback.groovy吗?

谢谢您的帮助

解决方法

您遇到问题的原因是永远不应编译回溯配置文件.它在运行时从LogBack通过Groovy Shell或类似机制读取.

解决方案取决于您的项目设置.以下是Maven Standard Directory Layout之后的Gradle项目构建解决方案:

第一个文件是src / main / groovy / Test.groovy:

import org.slf4j.Logger
import org.slf4j.LoggerFactory

class Test {
    static Logger LOG = LoggerFactory.getLogger(Test.class)

    static void main(String[] args) {
        LOG.debug("Test")
    }
}

第二个文件是src / main / resources / logback.groovy:

import static ch.qos.logback.classic.Level.INFO
import static ch.qos.logback.classic.Level.DEBUG

import ch.qos.logback.classic.encoder.PatternLayoutEncoder
import ch.qos.logback.core.ConsoleAppender

appender("CONSOLE",ConsoleAppender) {
  encoder(PatternLayoutEncoder) {
    pattern = "%-4relative [%thread] - %msg%n"
  }
}
root(DEBUG,["CONSOLE"])

我省略了Gradle构建文件(build.gradle).

标准目录布局保证src / main / groovy中的每个文件都被编译,而src / main / resources中的所有文件都包含在类路径中.因此LogBack能够在运行时找到该文件.

更新:没有仔细阅读您的问题.当两个文件都在同一个目录中时,我无法解决问题,而是通过groovy Test.groovy启动它.我认为这是不可能的. groovy命令总是编译当前目录和给定类路径中的所有groovy文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读