0

Grails プロジェクト内での Logback 初期化の実装を再考しました。ServletContextListenerこれは、一度起動された を提供し、ServletContextLogback 初期化全体をトリガーする を通じて実現されます。

BootStrap.groovyクロージャー内に既にServletContextオブジェクトがあるので、このinitクロージャーから Logback の初期化をトリガーしないのはなぜですか?

BootStrap の初期化を使用することによる (私にとっての) 大きな利点は、ファイル grails install-templates内でリスナーを実行して登録する必要がないことですweb.xmlServletContextListenerServletContextBootStrap.groovy

これについてのあなたの考えを読んでみたいです;)

4

1 に答える 1

0

簡単なテストから見てきたように、ログバックの初期化は、ファイルからメソッドを呼び出すのではなくServletContextListener、ファイルに登録するときにスタートアッププロセスのかなり早い段階で呼び出されるため、これまでのところスタートアップで確実に有効になります...web.xmlBootStrap.groovy

私の知る限り、は最初にJVMすべてのクラスをコンパイルするJavaので、基盤となるSpringFrameworkはそのGroovy上のファイルよりも速く起動します。

結論:起動の早い段階で メソッドが必要な場合は、メソッドを呼び出さないでくださいBootStrap.groovy。そうしないと、欠点はありません(少なくとも、これまでのところ、メソッドは見ていません)。

于 2013-02-14T15:26:47.323 に答える