What's the mechanism that users should use to set the debug log level in their app when debugging?
On 8/29/07, P T Withington <[EMAIL PROTECTED]> wrote: > Change 20070828-ptw-t by [EMAIL PROTECTED] on 2007-08-28 > 16:56:02 EDT > in /Users/ptw/OpenLaszlo/wafflecone-2 > for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone > > Summary: Implement Debug.messageLevel, downgrade deprecated warnings > to info, heuristicate file/line info in Debug messages > > Bugs Fixed: > LPP-4597 'turn debugger warnings for non-fatal issues into INFO' > LPP-4549 'runtime warnings should include file references, line > #s' (partial) > LPP-4478 'Richedittext: WARNING: __LZgetNodes: p is null in > LzDatapointer' (partial) > LPP-4450 'improve LFC warnings for xpath query on empty > datapath' (partial) > LPP-4551 'debugger warnings emitted from a private LFC > function' (partial) > LPP-4592 'basedatacombobox-based components with selectfirst="false" > emits Debugger warnings' (partial) > LPP-4464 'setVisible(null) warning, but it is never called' (partial) > > Technical Reviewer: max (pending) > QA Reviewer: enw (pending) > > Documentation: > In debug mode the compiler annotates every LzNode object with the > file/line where the object was created. If a node object is one > of the arguments to a Debug message, the debugger will use the > node object's file/line information when printing the message to > the console. [This is obviously not as accurate as we would like, > but it at least gives the programmer a hint as to where the > problem may lie.] > > Debug.messageLevel is one of (from lowest to highest) 'ALL', > 'DEBUG', 'INFO', 'WARNING', 'ERROR'; defaults to 'ALL'. Setting > it to a particular level will suppress all messages of a lower > level. > > All deprecation messages have been changed from 'WARNING' to > 'INFO'. By setting Debug.messageLevel to 'WARNING', deprecation > messages will be suppressed. > > All API warnings that are new in 4.x have been changed from > 'WARNING' to 'INFO'. By setting Debug.messageLevel to 'WARNING', > deprecation messages will be suppressed. > > Details: > LzSprite, LzNode, LaszloView, LzAnimatorGroup, LzDatapointer, > LzDataset, LzDatapath, Class: Change all deprecated warnings to > use Debug.deprecated, or in custom cases Debug.info. > > UserClass: Refine the warning that explains why <class name="xxx"> > will not be defined as a global if there is already a global value > of the same name in the underlying runtime. Change the warning to > an info message. > > LzMessage: Update frames to skip to match the current > implementation of backtrace. Heuristicate file/lineno from > message arguments. Add Debug.deprecated that handles common > deprecation messages. > > LzDebug, kernel.as, kernel.js: Implement Debug.messageLevel. > > LzBacktrace: Add a pretty type name. > > NodeModel: Annotate nodes with their creation file and line. > > Tests: > swf and dhtml smokecheck. > > In smokecheck, the last two warnings now say: > > WARNING: regression.lzl:730: serialize: p is null in > LzDatapointer name: bad > WARNING: regression.lzl:744: setNodeAttribute: p is null in > LzDatapointer name: dp > > Which indeed are the locations of the erroneous datapointers. > > Files: > M WEB-INF/lps/lfc/kernel/swf/LzSprite.as > M WEB-INF/lps/lfc/debugger/LzMessage.lzs > M WEB-INF/lps/lfc/debugger/LzDebug.lzs > M WEB-INF/lps/lfc/debugger/platform/swf/kernel.as > M WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js > M WEB-INF/lps/lfc/debugger/LzBacktrace.lzs > M WEB-INF/lps/lfc/core/LzNode.lzs > M WEB-INF/lps/lfc/core/UserClass.lzs > M WEB-INF/lps/lfc/views/LaszloView.lzs > M WEB-INF/lps/lfc/controllers/LzAnimatorGroup.lzs > M WEB-INF/lps/lfc/data/LzDatapointer.lzs > M WEB-INF/lps/lfc/data/LzDataset.lzs > M WEB-INF/lps/lfc/data/LzDatapath.lzs > M WEB-INF/lps/lfc/compiler/Class.lzs > M WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java > > Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070828-ptw- > t.tar > -- Henry Minsky Software Architect [EMAIL PROTECTED]
