Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions glm-4.7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test
14 changes: 10 additions & 4 deletions samples/10_multiple_appenders/LoggerProConfig.pas
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ interface
function Log: ILogWriter;

implementation

uses
LoggerPro.FileAppender,
LoggerPro.ConsoleAppender,
LoggerPro.OutputDebugStringAppender,
LoggerPro.MaskingAppender,
LoggerPro.Builder;

var
Expand All @@ -38,12 +38,18 @@ procedure SetupLogger;
// - Multiple appenders (File, Console, OutputDebugString)
// - Conditional log level based on DEBUG/RELEASE build
// - WithDefaultLogLevel to set minimum level for all appenders
// - Using TLoggerProMaskingAppender to mask sensitive data
//
// TLoggerProMaskingAppender is a decorator that masks sensitive data:
// - Masks 11-digit Chinese phone numbers (e.g., 138****5678)
// - Masks password values (e.g., password=****)
// - Regular expressions are pre-compiled in constructor for performance
//
_Log := LoggerProBuilder
.WithDefaultLogLevel(LOG_LEVEL)
.WriteToFile.Done
.WriteToConsole.Done
.WriteToOutputDebugString.Done
.AddAppender(TLoggerProMaskingAppender.Create(TLoggerProFileAppender.Create))
.AddAppender(TLoggerProMaskingAppender.Create(TLoggerProConsoleAppender.Create))
.AddAppender(TLoggerProMaskingAppender.Create(TLoggerProOutputDebugStringAppender.Create))
.Build;

// ============================================================================
Expand Down
9 changes: 9 additions & 0 deletions samples/common/MainFormU.dfm
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,13 @@ object MainForm: TMainForm
TabOrder = 5
OnClick = Button6Click
end
object Button7: TButton
Left = 294
Top = 71
Width = 280
Height = 57
Caption = 'Test Masking (Phone & Password)'
TabOrder = 6
OnClick = Button7Click
end
end
13 changes: 13 additions & 0 deletions samples/common/MainFormU.pas
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@ TMainForm = class(TForm)
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
Expand Down Expand Up @@ -109,4 +111,15 @@ procedure TMainForm.Button6Click(Sender: TObject);
Log.Fatal('This is an fatal message with TAG2', 'TAG2');
end;

procedure TMainForm.Button7Click(Sender: TObject);
begin
Log.Debug('User login attempt with phone: 13812345678', 'MASKING_TEST');
Log.Info('User registration with phone: 15987654321', 'MASKING_TEST');
Log.Warn('Password reset request for user with phone: 18600001111', 'MASKING_TEST');
Log.Error('Login failed: username=admin&password=secret123', 'MASKING_TEST');
Log.Fatal('Database connection failed: password=dbpass456', 'MASKING_TEST');
Log.Debug('Multiple phones: 13812345678 and 15987654321', 'MASKING_TEST');
Log.Info('User data: phone=18600001111&password=mysecret', 'MASKING_TEST');
end;

end.