2012-07-13 147 views
1

我对Grails非常陌生。我用Ruby来工作一点点。grails服务器日志

我做了一个iOs应用程序,它与grails后端进行通信。现在我遇到了无法看到服务器接收到的问题。

我正在寻找development.log文件。或者查看我的服务器接收和发送的内容以及日志条目。

我在NetBeans IDE 7.1.2和Grails 2.1中开发。

thx

回答

0

我正在做一件非常像你正在做的事情。我为移动应用程序创建了一个单独的日志文件。我将在Config.groovy中包含我的整个log4j部分,以便更容易理解。这将在/var/log/grails/中创建4个appender日志 - 错误,警告,信息和mobileApp日志;根据需要更改。

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") 
+0

嗨,thx。但不是像完整的开发日志那样。服务器中的每个操作都会执行一个文件吗?就像有人(如果在网站上或从外部无关)向控制器发送请求? – 2012-07-13 21:29:52

+0

我从来没有尝试过这个,但是你可以尝试设置消息级别为“debug”并创建一个调试日志。你可能会得到大量的信息 - 就像我说过我从未这样做过的。我会更新我的答案,以表明我将如何尝试这一点。请记住,这是未经测试的... – Kelly 2012-07-13 21:48:51