Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
如何使用Grails&;从一个控制器登录到不同的Appender;log4j_Log4j_Grails 2.0 - Fatal编程技术网

如何使用Grails&;从一个控制器登录到不同的Appender;log4j

如何使用Grails&;从一个控制器登录到不同的Appender;log4j,log4j,grails-2.0,Log4j,Grails 2.0,我有一个控制器,我想根据级别登录到不同的appender。例如,Maple的一般用法将写入INFO usage.log。我确定的某些事件应转到WARN warning.log 这是我的log4j配置的一部分 appenders { file name: "usageAppender", file: " /usr/local/logs/cs-wst/usage.log" file name: "warningAppender", file: " /

我有一个控制器,我想根据级别登录到不同的appender。例如,Maple的一般用法将写入INFO usage.log。我确定的某些事件应转到WARN warning.log

这是我的log4j配置的一部分

appenders {
    file name: "usageAppender",
        file: " /usr/local/logs/cs-wst/usage.log"

    file name: "warningAppender",
        file: " /usr/local/logs/cs-wst/warning.log"
}

info usageAppender: 'grails.app'
当我这样做并在我的控制器
log.info(“request method fired”)
中运行这样的语句时,usage.log中确实显示了这一行,但是我在让其他级别工作时遇到了麻烦。我想在控制器中运行这两条语句

log.info("request method fired")
…
log.warn("invalid credentials")

并将其记录到相应的文件中。有人能帮忙吗?

参考下面的代码

appenders {

    appender new DailyRollingFileAppender(
            name: 'dailyerrorAppender',
            threshold: org.apache.log4j.Level.DEBUG,
            datePattern: "'.'yyyy-MM-dd",  // See the API for all patterns.
            fileName: "./error",
            layout: pattern(conversionPattern:'%d [%t] %-5p %c{2} %x - %m%n')
    )

    appender new DailyRollingFileAppender(
            name: 'dailywarnAppender',
            threshold: org.apache.log4j.Level.WARN,
            datePattern: "'.'yyyy-MM-dd",  // See the API for all patterns.
            fileName: "./warn",
            layout: pattern(conversionPattern:'%d [%t] %-5p %c{2} %x - %m%n')
    )

}
environments {
    development{
        debug dailyerrorAppender:"errors", additivity: false
        warn dailywarnAppender:"warns", additivity: false
    }
    qa{
        debug dailyerrorAppender:"errors", additivity: false
        warn dailywarnAppender:"warns", additivity: false
    }
    production{
        debug dailyerrorAppender:"errors", additivity: false
        warn dailywarnAppender:"warns", additivity: false
    }
}

def errorLog = Logger.getLogger("errors")

errorLog.debug("your error messages")

def warnLog = Logger.getLogger("warns")

warnLog.warn("your warn messages")