On 08/05/2013 13:15, Graeme Geldenhuys wrote:
On 2013-05-08 12:59, Martin wrote:
Do something like lazlogger does.
Thanks for the suggestion, I'll take a closer look at lazlogger. I do
prefer not to leave debug code in all my units though. Otherwise I could
simply continue using my code templates ('sme' and 'smx') that inserts
code like
{$IFDEF DEBUG}SendMethodEnter('SomeClass.SomeMethod');{$ENDIF DEBUG}
Also, sometimes I would like to only trace a select few methods in a
class or unit. With the checkbox treeview idea that should make it very
easy to do, and revert those changes when I am done.
Lazlogger can do selected.
It has 3 levels
LazLoggerDummy: empty methods (the ones wit open array, may generate
some code, the rest should not)
LazLoggerBase: always generates code, but installs an inactive logger
object (use in packages, then the project can activate it)
LazLogger: the full deal (use in project)
register an option:
var
DBG_LOCATION_INFO: PLazLoggerLogGroup;
initialization
DBG_LOCATION_INFO :=
DebugLogger.FindOrRegisterLogGroup('DBG_LOCATION_INFO' {$IFDEF
DBG_LOCATION_INFO} , True {$ENDIF} );
debugln(DBG_LOCATION_INFO, 'Text');
will only log if called with commandline (or set in project)
--debug-enable=DBG_LOCATION_INFO
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus