2013-12-19 45 views
0

Groovy ConfigSlurper http://groovy.codehaus.org/ConfigSlurper举例说明了如何使用ConfigSlurper定义Log4j配置。如何将Configslurper配置转换为Log4j?

E.g.

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只是还给了Java类型嵌套的地图(如String),布尔等

的是,真正使用这些配置设置,并将其应用到底层的Log4j系统的最佳方法是什么?

注:我没有使用Grails,而是香草泉。

+0

不知道,但确实:'PropertyConfigurator.configure(新ConfigSlurper()解析(新文件(” config.groovy').toURL()).toProperties())'工作? –

回答

0

像蒂姆·耶茨说:

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

出色的作品!

谢谢Tim!

0

您可以从代码直接配置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()) 
相关问题