Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
配置log4j grails_Grails_Logging_Log4j_Config - Fatal编程技术网

配置log4j grails

配置log4j grails,grails,logging,log4j,config,Grails,Logging,Log4j,Config,我是grails新手,需要为我的应用程序配置loggind。我开始在我的grails应用程序中配置log4j,但我遇到了下面描述的错误,我不知道是什么原因造成了这种情况: log4j:ERROR Property missing when configuring log4j: Environment 有人知道是什么原因吗?下面是我的代码 def myappLogLevel = "DEBUG" def myappLogPattern = "%d{yyyy-MM-dd/HH:mm:ss.SSS}

我是grails新手,需要为我的应用程序配置loggind。我开始在我的grails应用程序中配置log4j,但我遇到了下面描述的错误,我不知道是什么原因造成了这种情况:

log4j:ERROR Property missing when configuring log4j: Environment
有人知道是什么原因吗?下面是我的代码

def myappLogLevel = "DEBUG"
def myappLogPattern = "%d{yyyy-MM-dd/HH:mm:ss.SSS} [%t] %x %-5p %c{2} - 
%m%n"
def log4jFileName = System.properties.getProperty('catalina.base', '.') + 
"/logs/myapp.log"

environments {
    development {
       log4jFileName = "logs/myapp.log"
    }
test {
    log4jFileName = "logs/myapp.log"
}


log4j = {

def logLayoutPattern = new PatternLayout(myappLogPattern)

appenders {
    appender new DailyRollingFileAppender(name: "myappLog",
            threshold: Level.toLevel(myappLogLevel),
            file: log4jFileName,
            datePattern: "'.'yyyy-MM-dd",   //Rollover at midnight each day.
            layout: logLayoutPattern
    )
    if (Environment.current == Environment.DEVELOPMENT ||
            Environment.current == Environment.TEST) {
        appender new ConsoleAppender(name: "console",
                threshold: Level.toLevel(myappLogLevel),
                layout: logLayoutPattern
        )
    }
}
error 'org.codehaus.groovy.grails.web.servlet',  //  controllers
        'org.codehaus.groovy.grails.web.pages', //  GSP
        'org.codehaus.groovy.grails.web.sitemesh', //  layouts
        'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
        'org.codehaus.groovy.grails.web.mapping', // URL mapping
        'org.codehaus.groovy.grails.commons', // core / classloading
        'org.codehaus.groovy.grails.plugins', // plugins
        'org.codehaus.groovy.grails.orm.hibernate', // hibernate
        'org.springframework',
        'org.hibernate.cache',
        'org.hibernate',
        'net.sf.ehcache.hibernate'
'grails'
'groovyx.net.http'

warn 'org.springframework',
        'org.hibernate',
        'grails.plugins.springsecurity',
        'groovyx.net.http'

debug 'grails.plugins.springsecurity',
        'grails.plugin.springcache',
        'com.myapp',
        'org.codehaus.groovy.grails.plugins.springsecurity',
        'org.apache.http.headers',
        'grails.app.services',
        'grails.app.domain',
        'grails.app.controllers',
        'grails.plugin.databasemigration',
        'liquibase'

    List<String> loggers = []
    loggers.add('myappLog')
    if (Environment.current.name == "development" ||
        Environment.current.name == "test") {
          loggers.add('console')
    }
    root {
        error loggers as String[]
        additivity = true 
    }

}
def myappLogLevel=“调试”
def myappLogPattern=“%d{yyyyy-MM-dd/HH:MM:ss.SSS}[%t]%x%-5p%c{2}-
%m%n“
def log4jFileName=System.properties.getProperty('catalina.base','.')+
“/logs/myapp.log”
环境{
发展{
log4jFileName=“logs/myapp.log”
}
试验{
log4jFileName=“logs/myapp.log”
}
log4j={
def logLayoutPattern=新模式布局(myappLogPattern)
附加物{
appender新DailRollingFileAppender(名称:“myappLog”,
阈值:Level.toLevel(myappLogLevel),
文件:log4jFileName,
datePattern:“'.'yyyy-MM-dd”//每天午夜滚动。
布局:logLayoutPattern
)
if(Environment.current==Environment.DEVELOPMENT||
Environment.current==Environment.TEST){
appender新控制台appender(名称:“控制台”,
阈值:Level.toLevel(myappLogLevel),
布局:logLayoutPattern
)
}
}
错误'org.codehaus.groovy.grails.web.servlet',//控制器
'org.codehaus.groovy.grails.web.pages',//GSP
'org.codehaus.groovy.grails.web.sitemesh',//布局
'org.codehaus.groovy.grails.web.mapping.filter',//URL映射
'org.codehaus.groovy.grails.web.mapping',//URL映射
'org.codehaus.groovy.grails.commons',//核心/类加载
'org.codehaus.groovy.grails.plugins',//plugins
'org.codehaus.groovy.grails.orm.hibernate',//hibernate
“org.springframework”,
“org.hibernate.cache”,
“org.hibernate”,
'net.sf.ehcache.hibernate'
“圣杯”
'groovyx.net.http'
警告“org.springframework”,
“org.hibernate”,
“grails.plugins.springsecurity”,
'groovyx.net.http'
调试“grails.plugins.springsecurity”,
'grails.plugin.springcache',
“com.myapp”,
'org.codehaus.groovy.grails.plugins.springsecurity',
'org.apache.http.headers',
“grails.app.services”,
“grails.app.domain”,
“grails.app.controllers”,
'grails.plugin.databasemigration',
“液化”
列出记录器=[]
添加('myappLog')
如果(Environment.current.name==“开发”||
Environment.current.name==“测试”){
添加('console')
}
根{
错误记录器为字符串[]
可加性=真
}
}

您可以使用log-config DSL构造在环境上进行分支,而无需显式访问环境

environments {
    development { loggers.add('console') }
    test { loggers.add('console') }
}

也就是说,我不确定您在配置的其余部分中要完成什么,因此可能有一种更优雅的方式来处理问题。

您需要导入grails.util.Environment以使环境可用。