LazLogger: conditional logging / support And/Or operators for log-groups

git-svn-id: trunk@60516 -
This commit is contained in:
martin 2019-02-26 18:51:47 +00:00
parent fd88788ac2
commit 9d250edfa3
5 changed files with 240 additions and 165 deletions

View File

@ -5,7 +5,6 @@ Used by:
- LazLoggerDummy - LazLoggerDummy
*) *)
procedure DebuglnStack(const s: string); procedure DebuglnStack(const s: string);
begin begin
{$IFnDEF LazLoggerDummy} {$IFnDEF LazLoggerDummy}
@ -139,138 +138,138 @@ begin
{$ENDIF} {$ENDIF}
end; end;
procedure DebuglnStack(LogGroup: PLazLoggerLogGroup; const s: string); procedure DebuglnStack(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebuglnStack(LogGroup, s); DebugLogger.DebuglnStack(LogEnabled, s);
{$ENDIF} {$ENDIF}
end; end;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const s: string); procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DbgOut(LogGroup, s); DebugLogger.DbgOut(LogEnabled, s);
{$ENDIF} {$ENDIF}
end; end;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DbgOut(LogGroup, Args); DebugLogger.DbgOut(LogEnabled, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const S: String; Args: array of const); procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const S: String; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DbgOut(LogGroup, s, Args); DebugLogger.DbgOut(LogEnabled, s, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string; procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string;
const s4: string; const s5: string; const s6: string; const s7: string; const s8: string; const s4: string; const s5: string; const s6: string; const s7: string; const s8: string;
const s9: string; const s10: string; const s11: string; const s12: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DbgOut(LogGroup, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18); DebugLogger.DbgOut(LogEnabled, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const s: string); procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLn(LogGroup, s); DebugLogger.DebugLn(LogEnabled, s);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLn(LogGroup, Args); DebugLogger.DebugLn(LogEnabled, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const S: String; Args: array of const); procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const S: String; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLn(LogGroup, s, Args); DebugLogger.DebugLn(LogEnabled, s, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string; procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string;
const s4: string; const s5: string; const s6: string; const s7: string; const s8: string; const s4: string; const s5: string; const s6: string; const s7: string; const s8: string;
const s9: string; const s10: string; const s11: string; const s12: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLn(LogGroup, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18); DebugLogger.DebugLn(LogEnabled, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s: string); procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnEnter(LogGroup, s); DebugLogger.DebugLnEnter(LogEnabled, s);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnEnter(LogGroup, Args); DebugLogger.DebugLnEnter(LogEnabled, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; s: string; Args: array of const); procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; s: string; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnEnter(LogGroup, s, Args); DebugLogger.DebugLnEnter(LogEnabled, s, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string;
const s4: string; const s5: string; const s6: string; const s7: string; const s8: string; const s4: string; const s5: string; const s6: string; const s7: string; const s8: string;
const s9: string; const s10: string; const s11: string; const s12: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnEnter(LogGroup, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18); DebugLogger.DebugLnEnter(LogEnabled, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; const s: string); procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnExit(LogGroup, s); DebugLogger.DebugLnExit(LogEnabled, s);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnExit(LogGroup, Args); DebugLogger.DebugLnExit(LogEnabled, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; s: string; Args: array of const); procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; s: string; Args: array of const);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnExit(LogGroup, s, Args); DebugLogger.DebugLnExit(LogEnabled, s, Args);
{$ENDIF} {$ENDIF}
end; end;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string;
const s4: string; const s5: string; const s6: string; const s7: string; const s8: string; const s4: string; const s5: string; const s6: string; const s7: string; const s8: string;
const s9: string; const s10: string; const s11: string; const s12: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
{$IFnDEF USED_BY_LAZLOGGER_DUMMY} {$IFnDEF USED_BY_LAZLOGGER_DUMMY}
DebugLogger.DebugLnExit(LogGroup, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18); DebugLogger.DebugLnExit(LogEnabled, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18);
{$ENDIF} {$ENDIF}
end; end;

View File

@ -41,42 +41,42 @@ procedure DebugLnExit (const s1, s2: string; const s3: string = '';
const s16: string = ''; const s17: string = ''; const s18: string = ''); inline; overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); inline; overload;
procedure DebuglnStack(LogGroup: PLazLoggerLogGroup; const s: string = ''); procedure DebuglnStack(LogEnabled: TLazLoggerLogEnabled; const s: string = '');
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const S: String; Args: array of const); overload;// similar to Format(s,Args) procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const S: String; Args: array of const); overload;// similar to Format(s,Args)
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';
const s13: string = ''; const s14: string = ''; const s15: string = ''; const s13: string = ''; const s14: string = ''; const s15: string = '';
const s16: string = ''; const s17: string = ''; const s18: string = ''); overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); overload;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const S: String; Args: array of const); overload;// similar to Format(s,Args) procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const S: String; Args: array of const); overload;// similar to Format(s,Args)
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';
const s13: string = ''; const s14: string = ''; const s15: string = ''; const s13: string = ''; const s14: string = ''; const s15: string = '';
const s16: string = ''; const s17: string = ''; const s18: string = ''); overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; s: string; Args: array of const); overload; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; s: string; Args: array of const); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';
const s13: string = ''; const s14: string = ''; const s15: string = ''; const s13: string = ''; const s14: string = ''; const s15: string = '';
const s16: string = ''; const s17: string = ''; const s18: string = ''); overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; s: string; Args: array of const); overload; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; s: string; Args: array of const); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';

View File

@ -151,8 +151,8 @@ type
procedure IncreaseIndent; overload; override; procedure IncreaseIndent; overload; override;
procedure DecreaseIndent; overload; override; procedure DecreaseIndent; overload; override;
procedure IncreaseIndent(LogGroup: PLazLoggerLogGroup); overload; override; procedure IncreaseIndent(LogEnabled: TLazLoggerLogEnabled); overload; virtual;
procedure DecreaseIndent(LogGroup: PLazLoggerLogGroup); overload; override; procedure DecreaseIndent(LogEnabled: TLazLoggerLogEnabled); overload; virtual;
procedure IndentChanged; override; procedure IndentChanged; override;
procedure CreateIndent; virtual; procedure CreateIndent; virtual;
function GetBlockHandler(AIndex: Integer): TLazLoggerBlockHandler; override; function GetBlockHandler(AIndex: Integer): TLazLoggerBlockHandler; override;
@ -654,28 +654,27 @@ begin
CreateIndent; CreateIndent;
end; end;
procedure TLazLoggerFile.IncreaseIndent(LogGroup: PLazLoggerLogGroup); procedure TLazLoggerFile.IncreaseIndent(LogEnabled: TLazLoggerLogEnabled);
begin begin
if (LogGroup <> nil) then begin if not (LogEnabled.Enabled) then exit;
if (not LogGroup^.Enabled) then exit;
inc(LogGroup^.FOpenedIndents); if (LogEnabled.Group <> nil) and (LogEnabled.Group^.Enabled) then
IncreaseIndent; inc(LogEnabled.Group^.FOpenedIndents);
end IncreaseIndent;
else
IncreaseIndent;
end; end;
procedure TLazLoggerFile.DecreaseIndent(LogGroup: PLazLoggerLogGroup); procedure TLazLoggerFile.DecreaseIndent(LogEnabled: TLazLoggerLogEnabled);
begin begin
if (LogGroup <> nil) then begin if (LogEnabled.Enabled) then begin
// close what was opened, even if now disabled if LogEnabled.Group <> nil then
// only close, if opened by this group dec(LogEnabled.Group^.FOpenedIndents);
if (LogGroup^.FOpenedIndents <= 0) then exit;
dec(LogGroup^.FOpenedIndents);
DecreaseIndent; DecreaseIndent;
end end
else else
if (LogEnabled.Group <> nil) and (LogEnabled.Group^.FOpenedIndents > 0) then begin
dec(LogEnabled.Group^.FOpenedIndents);
DecreaseIndent; DecreaseIndent;
end;
end; end;
procedure TLazLoggerFile.IndentChanged; procedure TLazLoggerFile.IndentChanged;

View File

@ -41,6 +41,18 @@ type
end; end;
PLazLoggerLogGroup = ^TLazLoggerLogGroup; PLazLoggerLogGroup = ^TLazLoggerLogGroup;
TLazLoggerLogEnabled = record
Enabled: Boolean;
Group: PLazLoggerLogGroup; // if only one group / remember nestlevel count
end;
operator := (g: PLazLoggerLogGroup): TLazLoggerLogEnabled;
operator := (g: Boolean): TLazLoggerLogEnabled;
operator and (g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
operator or (g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
type
TLazLoggerWriteTarget = ( TLazLoggerWriteTarget = (
lwtNone, lwtNone,
lwtStdOut, lwtStdErr, lwtStdOut, lwtStdErr,
@ -116,8 +128,8 @@ type
procedure IncreaseIndent; overload; virtual; procedure IncreaseIndent; overload; virtual;
procedure DecreaseIndent; overload; virtual; procedure DecreaseIndent; overload; virtual;
procedure IncreaseIndent({%H-}LogGroup: PLazLoggerLogGroup); overload; virtual; procedure IncreaseIndent({%H-}LogEnabled: TLazLoggerLogEnabled); overload; virtual;
procedure DecreaseIndent({%H-}LogGroup: PLazLoggerLogGroup); overload; virtual; procedure DecreaseIndent({%H-}LogEnabled: TLazLoggerLogEnabled); overload; virtual;
procedure IndentChanged; virtual; procedure IndentChanged; virtual;
function GetBlockHandler({%H-}AIndex: Integer): TLazLoggerBlockHandler; virtual; function GetBlockHandler({%H-}AIndex: Integer): TLazLoggerBlockHandler; virtual;
@ -194,42 +206,42 @@ type
const s16: string = ''; const s17: string = ''; const s18: string = ''); overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); overload;
procedure DebuglnStack(LogGroup: PLazLoggerLogGroup; const s: string = ''); procedure DebuglnStack(LogEnabled: TLazLoggerLogEnabled; const s: string = '');
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const S: String; Args: array of const); overload;// similar to Format(s,Args) procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const S: String; Args: array of const); overload;// similar to Format(s,Args)
procedure DbgOut(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DbgOut(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';
const s13: string = ''; const s14: string = ''; const s15: string = ''; const s13: string = ''; const s14: string = ''; const s15: string = '';
const s16: string = ''; const s17: string = ''; const s18: string = ''); overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); overload;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const S: String; Args: array of const); overload;// similar to Format(s,Args) procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const S: String; Args: array of const); overload;// similar to Format(s,Args)
procedure DebugLn(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DebugLn(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';
const s13: string = ''; const s14: string = ''; const s15: string = ''; const s13: string = ''; const s14: string = ''; const s15: string = '';
const s16: string = ''; const s17: string = ''; const s18: string = ''); overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; s: string; Args: array of const); overload; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; s: string; Args: array of const); overload;
procedure DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';
const s13: string = ''; const s14: string = ''; const s15: string = ''; const s13: string = ''; const s14: string = ''; const s15: string = '';
const s16: string = ''; const s17: string = ''; const s18: string = ''); overload; const s16: string = ''; const s17: string = ''; const s18: string = ''); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; const s: string = ''); overload; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s: string = ''); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; Args: array of const); overload; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; Args: array of const); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; s: string; Args: array of const); overload; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; s: string; Args: array of const); overload;
procedure DebugLnExit(LogGroup: PLazLoggerLogGroup; const s1, s2: string; const s3: string = ''; procedure DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string; const s3: string = '';
const s4: string = ''; const s5: string = ''; const s6: string = ''; const s4: string = ''; const s5: string = ''; const s6: string = '';
const s7: string = ''; const s8: string = ''; const s9: string = ''; const s7: string = ''; const s8: string = ''; const s9: string = '';
const s10: string = ''; const s11: string = ''; const s12: string = ''; const s10: string = ''; const s11: string = ''; const s12: string = '';
@ -312,6 +324,42 @@ var // Using base TRefCountedObject, so if none of the functions is used in the
PrevLazLogger: TRefCountedObject = nil; PrevLazLogger: TRefCountedObject = nil;
TheLazLoggerGroups: TRefCountedObject = nil; TheLazLoggerGroups: TRefCountedObject = nil;
operator := (g: PLazLoggerLogGroup): TLazLoggerLogEnabled;
begin
Result.Enabled := (g = nil) or (g^.Enabled);
Result.Group := g;
end;
operator := (g: Boolean): TLazLoggerLogEnabled;
begin
Result.Enabled := g;
Result.Group := nil;
end;
operator and(g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
begin
Result.Enabled := g1.Enabled and g2.Enabled;
if (g1.Group = nil) and g1.Enabled then
Result.Group := g2.Group
else
if (g2.Group = nil) and g2.Enabled then
Result.Group := g1.Group
else
Result.Group := nil;
end;
operator or(g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
begin
Result.Enabled := g1.Enabled or g2.Enabled;
if (g1.Group = nil) then
Result.Group := g2.Group
else
if (g2.Group = nil) then
Result.Group := g1.Group
else
Result.Group := nil;
end;
procedure CreateDebugLogger; procedure CreateDebugLogger;
begin begin
if (TheLazLogger <> nil) then if (TheLazLogger <> nil) then
@ -714,12 +762,12 @@ begin
// //
end; end;
procedure TLazLogger.IncreaseIndent(LogGroup: PLazLoggerLogGroup); procedure TLazLogger.IncreaseIndent(LogEnabled: TLazLoggerLogEnabled);
begin begin
// //
end; end;
procedure TLazLogger.DecreaseIndent(LogGroup: PLazLoggerLogGroup); procedure TLazLogger.DecreaseIndent(LogEnabled: TLazLoggerLogEnabled);
begin begin
// //
end; end;
@ -982,133 +1030,133 @@ begin
DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18); DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18);
end; end;
procedure TLazLogger.DebuglnStack(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebuglnStack(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DebuglnStack(s); DebuglnStack(s);
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDbgOut(s); DoDbgOut(s);
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDbgOut(ArgsToString(Args)); DoDbgOut(ArgsToString(Args));
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; const S: String; procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; const S: String;
Args: array of const); Args: array of const);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDbgOut(Format(S, Args)); DoDbgOut(Format(S, Args));
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDbgOut(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18); DoDbgOut(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18);
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(s); DoDebugLn(s);
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(ArgsToString(Args)); DoDebugLn(ArgsToString(Args));
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; const S: String; procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; const S: String;
Args: array of const); Args: array of const);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(Format(S, Args)); DoDebugLn(Format(S, Args));
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18); DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18);
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
if not( (LogGroup <> nil) and (not LogGroup^.Enabled) ) then if LogEnabled.Enabled then
DoDebugLn(s); DoDebugLn(s);
IncreaseIndent(LogGroup); IncreaseIndent(LogEnabled);
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
if not( (LogGroup <> nil) and (not LogGroup^.Enabled) ) then if LogEnabled.Enabled then
DoDebugLn(ArgsToString(Args)); DoDebugLn(ArgsToString(Args));
IncreaseIndent(LogGroup); IncreaseIndent(LogEnabled);
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; s: string; procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; s: string;
Args: array of const); Args: array of const);
begin begin
if not( (LogGroup <> nil) and (not LogGroup^.Enabled) ) then if LogEnabled.Enabled then
DoDebugLn(Format(S, Args)); DoDebugLn(Format(S, Args));
IncreaseIndent(LogGroup); IncreaseIndent(LogEnabled);
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
if not( (LogGroup <> nil) and (not LogGroup^.Enabled) ) then if LogEnabled.Enabled then
DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18); DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18);
IncreaseIndent(LogGroup); IncreaseIndent(LogEnabled);
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
DecreaseIndent(LogGroup); DecreaseIndent(LogEnabled);
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(s); DoDebugLn(s);
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
DecreaseIndent(LogGroup); DecreaseIndent(LogEnabled);
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(ArgsToString(Args)); DoDebugLn(ArgsToString(Args));
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; s: string; procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; s: string;
Args: array of const); Args: array of const);
begin begin
DecreaseIndent(LogGroup); DecreaseIndent(LogEnabled);
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(Format(S, Args)); DoDebugLn(Format(S, Args));
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
const s17: string; const s18: string); const s17: string; const s18: string);
begin begin
DecreaseIndent(LogGroup); DecreaseIndent(LogEnabled);
if (LogGroup <> nil) and (not LogGroup^.Enabled) then exit; if not LogEnabled.Enabled then exit;
DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18); DoDebugLn(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18);
end; end;

View File

@ -41,6 +41,15 @@ type
end; end;
PLazLoggerLogGroup = ^TLazLoggerLogGroup; PLazLoggerLogGroup = ^TLazLoggerLogGroup;
TLazLoggerLogEnabled = record end;
operator := (g: PLazLoggerLogGroup): TLazLoggerLogEnabled;
operator := (g: Boolean): TLazLoggerLogEnabled;
operator and (g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
operator or (g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
type
TLazLoggerWriteEvent = procedure (Sender: TObject; S: string; var Handled: Boolean) of object; TLazLoggerWriteEvent = procedure (Sender: TObject; S: string; var Handled: Boolean) of object;
@ -147,42 +156,42 @@ type
const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload; const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload;
procedure DebuglnStack({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s: string = ''); procedure DebuglnStack({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s: string = '');
procedure DbgOut({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s: string = ''); overload; procedure DbgOut({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s: string = ''); overload;
procedure DbgOut({%H-}LogGroup: PLazLoggerLogGroup; {%H-}Args: array of const); overload; procedure DbgOut({%H-}LogEnabled: TLazLoggerLogEnabled; {%H-}Args: array of const); overload;
procedure DbgOut({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}S: String; {%H-}Args: array of const); overload;// similar to Format(s,Args) procedure DbgOut({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}S: String; {%H-}Args: array of const); overload;// similar to Format(s,Args)
procedure DbgOut({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = ''; procedure DbgOut({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = '';
const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = ''; const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = '';
const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = ''; const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = '';
const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = ''; const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = '';
const {%H-}s13: string = ''; const {%H-}s14: string = ''; const {%H-}s15: string = ''; const {%H-}s13: string = ''; const {%H-}s14: string = ''; const {%H-}s15: string = '';
const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload; const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload;
procedure DebugLn({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s: string = ''); overload; procedure DebugLn({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s: string = ''); overload;
procedure DebugLn({%H-}LogGroup: PLazLoggerLogGroup; {%H-}Args: array of const); overload; procedure DebugLn({%H-}LogEnabled: TLazLoggerLogEnabled; {%H-}Args: array of const); overload;
procedure DebugLn({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}S: String; {%H-}Args: array of const); overload;// similar to Format(s,Args) procedure DebugLn({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}S: String; {%H-}Args: array of const); overload;// similar to Format(s,Args)
procedure DebugLn({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = ''; procedure DebugLn({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = '';
const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = ''; const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = '';
const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = ''; const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = '';
const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = ''; const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = '';
const {%H-}s13: string = ''; const {%H-}s14: string = ''; const {%H-}s15: string = ''; const {%H-}s13: string = ''; const {%H-}s14: string = ''; const {%H-}s15: string = '';
const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload; const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload;
procedure DebugLnEnter({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s: string = ''); overload; procedure DebugLnEnter({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s: string = ''); overload;
procedure DebugLnEnter({%H-}LogGroup: PLazLoggerLogGroup; {%H-}Args: array of const); overload; procedure DebugLnEnter({%H-}LogEnabled: TLazLoggerLogEnabled; {%H-}Args: array of const); overload;
procedure DebugLnEnter({%H-}LogGroup: PLazLoggerLogGroup; {%H-}s: string; {%H-}Args: array of const); overload; procedure DebugLnEnter({%H-}LogEnabled: TLazLoggerLogEnabled; {%H-}s: string; {%H-}Args: array of const); overload;
procedure DebugLnEnter({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = ''; procedure DebugLnEnter({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = '';
const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = ''; const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = '';
const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = ''; const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = '';
const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = ''; const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = '';
const {%H-}s13: string = ''; const {%H-}s14: string = ''; const {%H-}s15: string = ''; const {%H-}s13: string = ''; const {%H-}s14: string = ''; const {%H-}s15: string = '';
const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload; const {%H-}s16: string = ''; const {%H-}s17: string = ''; const {%H-}s18: string = ''); overload;
procedure DebugLnExit({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s: string = ''); overload; procedure DebugLnExit({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s: string = ''); overload;
procedure DebugLnExit({%H-}LogGroup: PLazLoggerLogGroup; {%H-}Args: array of const); overload; procedure DebugLnExit({%H-}LogEnabled: TLazLoggerLogEnabled; {%H-}Args: array of const); overload;
procedure DebugLnExit({%H-}LogGroup: PLazLoggerLogGroup; {%H-}s: string; {%H-}Args: array of const); overload; procedure DebugLnExit({%H-}LogEnabled: TLazLoggerLogEnabled; {%H-}s: string; {%H-}Args: array of const); overload;
procedure DebugLnExit({%H-}LogGroup: PLazLoggerLogGroup; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = ''; procedure DebugLnExit({%H-}LogEnabled: TLazLoggerLogEnabled; const {%H-}s1, {%H-}s2: string; const {%H-}s3: string = '';
const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = ''; const {%H-}s4: string = ''; const {%H-}s5: string = ''; const {%H-}s6: string = '';
const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = ''; const {%H-}s7: string = ''; const {%H-}s8: string = ''; const {%H-}s9: string = '';
const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = ''; const {%H-}s10: string = ''; const {%H-}s11: string = ''; const {%H-}s12: string = '';
@ -225,6 +234,26 @@ var // Using base TRefCountedObject, so if none of the functions is used in the
{$I LazLoggerImpl.inc} {$I LazLoggerImpl.inc}
{$pop} {$pop}
operator := (g: PLazLoggerLogGroup): TLazLoggerLogEnabled;
begin
Result := Default(TLazLoggerLogEnabled);
end;
operator := (g: Boolean): TLazLoggerLogEnabled;
begin
Result := Default(TLazLoggerLogEnabled);
end;
operator and(g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
begin
Result := Default(TLazLoggerLogEnabled);
end;
operator or(g1, g2: TLazLoggerLogEnabled): TLazLoggerLogEnabled;
begin
Result := Default(TLazLoggerLogEnabled);
end;
procedure CreateDebugLogger; procedure CreateDebugLogger;
begin begin
if (TheLazLogger <> nil) then if (TheLazLogger <> nil) then
@ -425,28 +454,28 @@ begin
end; end;
procedure TLazLogger.DebuglnStack(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebuglnStack(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; const S: String; procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; const S: String;
Args: array of const); Args: array of const);
begin begin
end; end;
procedure TLazLogger.DbgOut(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DbgOut(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
@ -455,23 +484,23 @@ begin
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; const S: String; procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; const S: String;
Args: array of const); Args: array of const);
begin begin
end; end;
procedure TLazLogger.DebugLn(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DebugLn(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
@ -480,23 +509,23 @@ begin
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; s: string; procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; s: string;
Args: array of const); Args: array of const);
begin begin
end; end;
procedure TLazLogger.DebugLnEnter(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DebugLnEnter(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;
@ -505,23 +534,23 @@ begin
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; const s: string); procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s: string);
begin begin
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; Args: array of const); procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; Args: array of const);
begin begin
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; s: string; procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; s: string;
Args: array of const); Args: array of const);
begin begin
end; end;
procedure TLazLogger.DebugLnExit(LogGroup: PLazLoggerLogGroup; const s1, s2: string; procedure TLazLogger.DebugLnExit(LogEnabled: TLazLoggerLogEnabled; const s1, s2: string;
const s3: string; const s4: string; const s5: string; const s6: string; const s7: string; const s3: string; const s4: string; const s5: string; const s6: string; const s7: string;
const s8: string; const s9: string; const s10: string; const s11: string; const s12: string; const s8: string; const s9: string; const s10: string; const s11: string; const s12: string;
const s13: string; const s14: string; const s15: string; const s16: string; const s13: string; const s14: string; const s15: string; const s16: string;