0

コンソールに出力されたログを使用して、Spring フレームワーク内の実行フローを確認しようとしていました。目的は、Spring フレームワークの内部動作を少し理解することでした。アプリケーションでログ レベルを ALL に設定しました。次の行がログに出力されます。

2013-07-04 14:46:34 TRACE DispatcherServlet:1018 - Bound request context to thread: org.apache.catalina.connector.RequestFacade@13dd208
2013-07-04 14:46:34 DEBUG DispatcherServlet:823 - DispatcherServlet with name 'web' processing GET request for [/webtemplate/]
2013-07-04 14:46:34 TRACE DispatcherServlet:1088 - Testing handler map [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping@fedfb6] in DispatcherServlet with name 'web'
2013-07-04 14:46:34 DEBUG RequestMappingHandlerMapping:220 - Looking up handler method for path /
2013-07-04 14:46:34 TRACE RequestMappingHandlerMapping:264 - Found 1 matching mapping(s) for [/] : [{[/],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}]
2013-07-04 14:46:34 DEBUG RequestMappingHandlerMapping:227 - Returning handler method [public java.lang.String com.lister.custom.webtemplate.controller.MainController.index(org.springframework.ui.ModelMap)]
2013-07-04 14:46:34 DEBUG DefaultListableBeanFactory:246 - Returning cached instance of singleton bean 'mainController'
2013-07-04 14:46:34 TRACE DispatcherServlet:1122 - Testing handler adapter [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter@771eb1]

すべての行に出力されたソース ファイル(?)と行番号を確認しました。

  • ディスパッチャーサーブレット:823
  • DispatcherServlet:1018
  • RequestMappingHandlerMapping:220
  • 等...

内部で何が起こっているかを確認するために。

しかし、ほとんどの場合、それぞれの行番号に関連するコードを見つけることができませんでした。多くの人は、それらの行番号にコメントを付けただけです。

上記のログ行のうち、ログDispatcherServlet:823を出力した実際のコードのみが含まれていました。

ログ (DEBUG および TRACE) を使用して Spring 内の実行フローを追跡するにはどうすればよいですか?

ノート:

  • アプリケーションで使用されているバイナリとチェックしているソースの両方のバージョンが同じです - 3.2.3.RELEASE

  • 以下は私のロガーパターンですlog4j.appender.console.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

4

1 に答える 1