On 27/03/2014 08:22, Michael Van Canneyt wrote:
The intended use is that the IDE generates stuff like
Procedure TMyClass.MyMethod;
begin
{$IFDEF LOGPROCESSFLOW}Log('Entering TMyClass.MyMethod');{$ENDIF}
{$ENDIF LOGPROCESSFLOW}Log('Exiting TMyClass.MyMethod');{$ENDIF}
end;
If I have specified as code snippets
{$IFDEF LOGPROCESSFLOW}Log('Entering
$(CLASSNAME).$(METHODNAME)');{$ENDIF}
Not an exact match to your question, but: Do you know LazLogger!
It has DebuglnEnter/DebuglnExit which will add a nice intend (so long as
you do not skip them by raising an exception.
You can use a code template, to insert them at caret.
debugln(['$ProcedureName() '|]);
If you are at the begin of a procedure, you can record a macro, using
the key stroke for "find block other end", that allows to insert opening
and closing statement.
In addition, you do not need the IfDef.
Debugln is in unit LazLoggerBase or LazLogger.
If you change the "uses" to LazLoggerDummy, then all debugln are
replaced by empty inline methods (the inline does not work for "array of
const" though).
LazLoggerBase gets a working debugln, but logs to nowhere. (use in
packages, and units)
LazLogger installs the actual Logger (to file or console). Affects all
debugln that where used from LazLoggerBase (use in your main unit)
it allows on command line
--debug-log=
--debug-enable
--debug-disable
debuglneEnter/Exit can be grouped to be enabled/disabled
Debugln(GROUPNAME, ['msg', data])
see gdbmidebugger units how to "RegisterLogGroup"
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus