有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将Configslurper配置转换为Log4j?

Groovy ConfigSlurper http://groovy.codehaus.org/ConfigSlurper提供了一个关于如何使用ConfigSlurper定义Log4j配置的好例子

例如

log4j {
    appender.stdout = "org.apache.log4j.ConsoleAppender"
    appender."stdout.layout"="org.apache.log4j.PatternLayout"
    rootLogger="error,stdout"
    logger {
        org.springframework="info,stdout"
    }
    additivity {
        org.springframework=false
    }
}

基本上,ConfigSlurper只会返回一个嵌套的映射,其中包含String、Boolean等Java类型

实际使用这些配置设置并将其应用于底层Log4j系统的最佳方式是什么

注意:我使用的不是Grails,而是vanilla Spring


共 (2) 个答案

  1. # 1 楼答案

    您可以直接从代码中配置log4j,而无需创建如下属性文件:

    def log4jConfig = """
    log4j {
        appender.stdout = "org.apache.log4j.ConsoleAppender"
        appender."stdout.layout"="org.apache.log4j.PatternLayout"
        rootLogger="error,stdout"
        logger {
            org.springframework="info,stdout"
        }
        additivity {
            org.springframework=false
        }
    }
    """
    
    def config = new ConfigSlurper().parse(log4jConfig)
    PropertyConfigurator.configure(config.toProperties())
    
  2. # 2 楼答案

    就像蒂姆·耶茨评论的那样:

    org.apache.log4j.PropertyConfigurator.configure(
        new ConfigSlurper().parse(new File("config.groovy").toURL()).toProperties())
    

    工作出色

    谢谢蒂姆