Uploaded image for project: 'Ymir'
  1. Ymir
  2. YMIR-293

Conversationの値をログに(ConversationsImplのtoString()を実装)

XMLWordPrintable

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Minor Minor
    • 1.0.1
    • Affects Version/s: 1.0.0
    • Component/s: ymir-core
    • None

      【概要】
      Conversationに格納している値がログに出ると良い。
      Conversationは便利だが、複雑ではあるので、
      こういった支援があるとある程度敷居が下がる。

      RequestLoggingFilterのsession欄で出力されるととても見やすい。
      既にsession情報としてConversationsImplのtoString()が呼び出されているので、
      これをいい感じで実装するだけで実現が可能。

      【詳細】
      @Conversation(name = "member", phase = "list")
      public class ListPage extends ListPageBase {

      @Out(scopeClass = ConversationScope.class)
      @Override
      public Integer getCurrent() {

      @Out(scopeClass = ConversationScope.class)
      @Override
      public ConditionDto getCondition() {

      とした場合

      <現状>
      ...
      Response=org.apache.catalina.connector.ResponseFacade
      [session] org.seasar.ymir.window.windowId._self=

      {org.seasar.ymir.conversation.conversations=org.seasar.ymir.conversation.impl.ConversationsImpl@fafd42}
      • * * * * * * * * * {END}: /member/search/list.html [00m01s063ms]

        ↓↓↓

        <改善>
        ...
        Response=org.apache.catalina.connector.ResponseFacade
        [session] org.seasar.ymir.window.windowId._self={ConversationsImpl@fafd42 member (list) current = 3 condition = (abc=3,bbb=4,ccc=ABCACBAC, ...)}
        * * * * * * * * * * {END}

        : /member/search/list.html [00m01s063ms]

      DTOのtoString()は既に自動生成で実装されているので、
      ConversationsImplのtoString()の実装だけで実現可能(なはず)。

      Conversation.followAfterやOut.scopeNameやOut.actionNameを
      出すべきかどうかちょと不明。
      (全部出す必要はなくて、重要なものだけ出れば良いかと)

      【補足】
      優先度は低だが、重要度は高い。

            Assignee:
            skirnir skirnir
            Reporter:
            jflute jflute
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: