Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-5207

Currently we can dynamically change the log level in webtools but not for a class or a package.



    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Trunk
    • Fix Version/s: Trunk
    • Component/s: framework
    • Labels:


      If in Webtools Log Configuration, I check all debugging levels (ie add verbose to OOTB default), I don't get simple verbose lines in log, same with OFBiz trunk and all releases, but old R4.0 from 2007 where you get tons of lines (including debug lines from 3rd parties libs, this last feature still works in newer code versions).

      By simple verbose lines I mean



      if (Debug.verboseOn()) Debug.logVerbose()

      contrary to

      if (Debug.verboseOn()) Debug.logInfo()

      Which are of course shown ,if you force the debugging levels to verbose (I noted this scheme is often used in OFBiz OOTB).

      When you set a logger to ALL (aka verbose) for a specific package or class, then also it does not work (no Debug.logVerbose() lines printed in logs)
      I tried in webtools log config to add a logger to a class or/and package, set to DEBUG or ALL, and to even to use -DDEBUG=true system property (found in Debug class code), to no avail.

      I barely checked the situation is the same from OFBiz R9.04 (included) to trunk.

      Let me clarify again:

      • Setting, dynamically or not, the verbose level, you get all Debug.log() levels lines in log, including lower levels like DEBUG (not used in OFBiz but in 3rd parties libs), but not the OFBiz Debug.logVerbose() lines
      • Adding a logger for a class or package with ALL level does not work. You don't get the verbose lines of this class/package in logs.

      With trunk demo, you can easily try both Webtools Log Configurations and any combinations running the getPartyFromEmail service from Webtools (paramater: ofbiztest@example.com) and checking the log: https://demo-trunk.ofbiz.apache.org/webtools/control/LogView.

      I believe the previous behaviour (like in R4.0) where, when you set all debugging levels, you get all log lines including Debug.logVerbose() ones, is not wanted. You then get too much lines and it's barely usable (too much information kills the information). What I want: see only Debug.logVerbose() lines for a class or package, I don't want to see all Debug.logVerbose() lines (you never get them at the moment anyway) or if (Debug.verboseOn()) lines (you get them when checking all debugging levels).

      I thought this was working, but I must say I never succeeded to get it working. So I thought it was my way of doing it. But now, I'm quite sure it's an incomplete feature, that I even qualify a bug (we need that, even in previous releases)

      As I said, putting the whole on Verbose level works but is not enough. You are then facing too much information and it blurs/clutters logs too much
      Dynamically setting the log level for a class or package is most useful when willing to debug core features and even custom ones.


        1. OFBIZ-5207 debug.patch
          5 kB
          Jacques Le Roux
        2. OFBIZ-5207 debug.patch
          4 kB
          Jacques Le Roux
        3. OFBIZ-5207 test.patch
          1 kB
          Jacques Le Roux



            • Assignee:
              jleroux Jacques Le Roux
              jleroux Jacques Le Roux
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: