2
컨트롤러와 서비스가 ApiController
및 ApiService.groovy
인데, 첨부 파일을 사용하여 파일에 error
및 info
로그를 기록하도록 Config.groovy 파일을 설정했습니다. 내 서비스에서 log.info("foo")
으로 전화를 걸면 STDOUT에만 쓰고 파일에는 쓰지 않습니다. 파일은 생성되었지만 쓰여진 적이 없습니다.내 로거가 Grails의 파일 appender에 쓸 수없는 이유는 무엇입니까?
package com.ono.catfish
class ApiService {
def ping(Map params) {
log.info("Received submission: ${params.toMapString()}")
log.error("Testing Error Log")
}
}
사람이 나를 내가 잘못 뭘하는지 알아낼 수 있습니다 :
여기 내 서비스 grails-app/com/ono/catfish/ApiService.groovy
이있어 여기 내 Config.groovy 파일
// log4j configuration
def isProd = Environment.current == Environment.PRODUCTION
def catalinaBase = System.properties.getProperty('catalina.base')
if (!catalinaBase) catalinaBase = '.' // just in case
def logDirectory = "${catalinaBase}/logs"
if (!isProd) {
logDirectory = 'logs'
}
log4j = {
// Example of changing the log pattern for the default console
// appender:
//
appenders {
appenders {
console name: 'debug,info,warn,error,stdout,logfile', layout: pattern(conversionPattern: '%c{2} %m%n')
appender new RollingFileAppender(name: "apiLog", maxFileSize: 1024, file: "${logDirectory}/api.log")
appender new RollingFileAppender(name: "pingDupLog", maxFileSize: 1024, file: "${logDirectory}/pingDup.log")
appender new RollingFileAppender(name: "fraudLog", maxFileSize: 1024, file: "${logDirectory}/fraud.log")
appender new RollingFileAppender(name: "appLog", maxFileSize: 1024, file: "${logDirectory}/app.log")
}
}
error apiLog: ['grails.app.services.com.ono.catfish.ApiService',
'grails.app.controllers.com.ono.catfish.ApiController'],
'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 integration
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate'
info apiLog: ['grails.app.services.com.ono.catfish.ApiService',
'grails.app.controllers.com.ono.catfish.ApiController']
root {
info 'stdout', 'appLog'
}
}
이고?
감사합니다.