Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-1816

Improve tracing view in DebugUtils

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • 1.1.5
    • None
    • None
    • None

    Description

      I noticed today strange behavior if I change the loglevel for myfaces. Some getters of backing beans are called although the rendered attribute of a parent component is false. It is caused by class DebugUtils.traceView.
      I enabled logging via following setting: log4j.logger.org.apache.myfaces=DEBUG

      Sample jsp:
      <t:panelGroup rendered="#

      {!empty requestScope['myflag']}

      ">
      <t:dataTable value="#

      {myController.value}

      " ...
      </t:panelGroup>

      myController.getValue() is now called if logging is enabled although myflag is not set in request scope.

      This makes debugging difficult if the app behaves different depending on loglevel settings. Data can be uninitialized if the parent should not be rendered (or it will be lazy initialized on each request if BackingBean is request scope and not saved in the request).

      Therefore I would prefer to skip all components that should not be rendered from output.

      I'll provide a patch as soon as possible (I 'l try this month)

      Attachments

        1. DebugUtils.patch
          0.7 kB
          Michael Heinen

        Activity

          People

            Unassigned Unassigned
            mheinen Michael Heinen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: