[YMIR-293] Conversationの値をログに(ConversationsImplのtoString()を実装) Created: 2009-01-21  Updated: 2009-02-02  Resolved: 2009-01-21

Status: Closed
Project: Ymir
Component/s: ymir-core
Affects Version/s: 1.0.0
Fix Version/s: 1.0.1

Type: Improvement Priority: Minor
Reporter: jflute Assignee: skirnir
Resolution: Fixed Votes: 0
Labels: None


 Description   

【概要】
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を
出すべきかどうかちょと不明。
(全部出す必要はなくて、重要なものだけ出れば良いかと)

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



 Comments   
Comment by skirnir [ 2009-02-02 ]

確認ありがとうございました。closeとします。

Comment by jflute [ 2009-02-01 ]

全て確認済みです。ありがとうございます!

Comment by jflute [ 2009-01-22 ]

OptionTagのログ確認しました!
ありがとうございます。

Comment by skirnir [ 2009-01-22 ]

OptionTagも(他の~Tagクラスも)対処しました。こちらはfreyja-1.0.12-SNAPSHOTになります。

Comment by jflute [ 2009-01-21 ]

ありがとうございます。確認しました。
希望通りです。

後はattributesの中でtoString()される可能性の高い
OptionTagのtoString()の実装だけです。
基本的にはvalue_とlabel_が出ればOKです。

Comment by skirnir [ 2009-01-21 ]

対処しました(r2696)。

Comment by jflute [ 2009-01-21 ]

JIRAの表記で失敗してしまいました。
以下に書き直します。

<現状>
  ...
  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]
Generated at Wed Apr 09 02:11:38 JST 2025 using Jira 10.5.0#10050000-sha1:9d9d098bb7b67e8dba8da380ba9c3900d82ac3cf.