最近由于工作需要,开始使用Grails开发Web应用。Grails是“规则优于配置”的开发理念,熟悉以后,确实可以节省很多繁琐的配置工作,当然,新手还需一定的适应过程,毕竟是需要熟悉“规则”才能节省配置。
今天主要写如何在Grails3下使用logback来实现数据库日志功能。按理说应该是简单的配置就能实现的,但是使用过程中出现了一些奇怪的问题,我就把这些问题以及解决办法在这里罗列一下,希望对遇到相同问题的同志们能有一定的帮助。当然,我其实也是Grails新手,如果有更好的解决问题的方法,还请前辈们多多指教。好了,废话不多说,下面开始~~
一、Grails官网
首先,查看Grails官网的最新文档,地址是:http://docs.grails.org/latest/guide/conf.html#logging
官网直接说Grails的日志功能由logback实现,你去看他的文档就行了,完事在我给你的logback.groovy配置文件修改一下配置就行。当然,他也说了,这个配置文件是Groovy格式的,可以直接更换成xml格式的,改个后缀名就行。
二、logback官网
查看logback官网,地址是:https://logback.qos.ch/manual/groovy.html,这个网页(第12章)大概介绍了如何在Groovy下配置logback,然而,并没有具体介绍如何配置能够实现把日志写到数据库。
于是,又来到第4章,这里就详细介绍了不同的Appender,比如说,FileAppender是写到日志文件的,ConsoleAppender是写到控制台的,所以,写到数据库的当然就是DBAppender,只要把这个BDAppender配置好,应该就能实现了。具体的介绍在这里:https://logback.qos.ch/manual/appenders.html#DBAppender。
简单说明一下,要使用DBAppender,首先要在数据库里创建好三张表
logging_event
logging_event_property
logging_event_exception