关于groovy中的def定义
java有两个正式的语法规则:
1 变量只允许在定义它的块内以该块内嵌的块内及访问
2 一个变量不能被定义两次以上
java有classwide variable和localwide variable,而classwide variable根据其可见性(如public)是违反规则1的。但java遵循着规则二。
def 很简单,在java中定义一个对象一般需要制定具体对象类型,比如String/List等,而def就是dynamic变量,定义的对象类型是可变的。
grails的日志配置
grails使用了log4j作为plus来记录日志
grails在代码中怎么记录日志?
对于约定的controller、service、domain,grails会将一个log instance object注入(injection)到其中
对于非约定的类,就必须实例化一个log
grails日志是怎么配置的?
grails中的日志配置是在grails-app/conf/Config.groovys
1 log level:
There are serveral stardard loging levels, which are listed here in order of descending priority:
- off
- fatal
- error
- warn
- info
- debug
- trace
- all
当你记录日志时,log实例有相应于以上level的方法,比如log.debug(msg)
2 配置 logger
在代码中已经通过log对象记录不同级别的日志,
配置logger,让日志输出到一个地方,文件、数据库、控制台等,以及按照级别来输出。
appender是日志输出控制对象
grails 的appender有: