0

我只是在我的 Grails 项目中重新考虑了 Logback 初始化的实现,它是通过ServletContextListener提供ServletContext一次触发并触发整个 Logback 初始化的东西来实现的。

在闭包中BootStrap.groovy我已经有了一个ServletContext对象init,那么为什么不从这个闭包触发 Logback 初始化呢?

使用 BootStrap 初始化的一个巨大好处(对我来说)是,我不必grails install-templates在文件中运行和注册监听器web.xml...... 如果我不注册 aServletContextListener而是取ServletContextfrom有什么缺点BootStrap.groovy吗?

我很想看看你对此的看法;)

4

1 回答 1

0

正如我从一个简单的测试中看到的那样,到目前为止,它肯定会在启动时生效,因为在ServletContextListener文件中注册 aweb.xml而不是从BootStrap.groovy文件中调用方法时,在启动过程中更早地调用了 Logback 初始化...

据我所知,JVM它将首先编译所有Java类,这样底层的 Spring Framework 就会比Groovy它上面的文件更快地触发。

结论:如果您在启动早期需要它们,请 不要调用方法BootStrap.groovy,否则没有缺点(至少到目前为止我还没有看到任何缺点)......

于 2013-02-14T15:26:47.323 回答