Я делаю что-то очень похожее на то, что делаете вы. Я создал отдельный файл журнала только для мобильного приложения. Я собираюсь включить весь раздел log4j в Config.groovy, чтобы его было легче понять. Это создаст 4 журнала приложения в /var/log/grails/
- журнал ошибок, предупреждений, информации и журнала мобильных приложений; измените это, как вам требуется.
log4j = {
appenders {
rollingFile name:'infoLog', file:'/var/log/grails/info.log', threshold: org.apache.log4j.Level.INFO, maxFileSize:"1MB", maxBackupIndex: 10
rollingFile name:'warnLog', file:'/var/log/grails/warn.log', threshold: org.apache.log4j.Level.WARN, maxFileSize:"1MB", maxBackupIndex: 10
rollingFile name:'errorLog', file:'/var/log/grails/error.log', threshold: org.apache.log4j.Level.ERROR, maxFileSize:"1MB", maxBackupIndex: 10
rollingFile name:'mobileAppLog', file:'/var/log/grails/mobile.log', threshold: org.apache.log4j.Level.INFO, maxFileSize:"1MB", maxBackupIndex: 10
//UNTESTED
rollingFile name:'debugLog', file:'/var/log/grails/debug', threshold: DEBUG, maxFileSize:"1MB", maxBackupIndex: 10
}
root {
info 'infoLog','warnLog','errorLog', stdout
error()
additivity = true
}
info mobileAppLog: 'mobileAppLog', additivity:false
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 integration
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate'
//UNTESTED - you could remove individual entries here to get less data
debug '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'
warn 'org.mortbay.log'
debug "grails.app"
}
Затем, когда мне нужно использовать мой mobileAppLog в контроллере, сделайте следующее:
import org.apache.log4j.Logger
//inside controller class
def appLog = Logger.getLogger('mobileAppLog')
//To actually write to the log
appLog.info("whatever you need to write")
person
Kelly
schedule
13.07.2012