From d261a2c1f6b2202a268869e32fec1e18ac2e1eaa Mon Sep 17 00:00:00 2001 From: prograys Date: Fri, 16 Jan 2026 07:25:22 +0800 Subject: [PATCH 1/2] .3704670284688232:0d18c38dd903d891254ae3d0805c5694_6968e567b84ffac27eddcd1f.6968e6f1b84ffac27eddcd27.6968e6f046f986a2351cefb6:Trae CN.T(2026/1/15 21:09:05) --- samples/10_multiple_appenders/LoggerProConfig.pas | 14 ++++++++++---- samples/common/MainFormU.dfm | 9 +++++++++ samples/common/MainFormU.pas | 13 +++++++++++++ 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/samples/10_multiple_appenders/LoggerProConfig.pas b/samples/10_multiple_appenders/LoggerProConfig.pas index c9f6019..d209c48 100644 --- a/samples/10_multiple_appenders/LoggerProConfig.pas +++ b/samples/10_multiple_appenders/LoggerProConfig.pas @@ -8,11 +8,11 @@ interface function Log: ILogWriter; implementation - uses LoggerPro.FileAppender, LoggerPro.ConsoleAppender, LoggerPro.OutputDebugStringAppender, + LoggerPro.MaskingAppender, LoggerPro.Builder; var @@ -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; // ============================================================================ diff --git a/samples/common/MainFormU.dfm b/samples/common/MainFormU.dfm index 968817c..fd4d904 100644 --- a/samples/common/MainFormU.dfm +++ b/samples/common/MainFormU.dfm @@ -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 diff --git a/samples/common/MainFormU.pas b/samples/common/MainFormU.pas index 29be8a0..8ad9f53 100644 --- a/samples/common/MainFormU.pas +++ b/samples/common/MainFormU.pas @@ -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 @@ -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. From be3371ece7622b3d703c2cc2424fad0076988eaa Mon Sep 17 00:00:00 2001 From: prograys Date: Fri, 16 Jan 2026 07:30:09 +0800 Subject: [PATCH 2/2] add glm-4.7.txt --- glm-4.7.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 glm-4.7.txt diff --git a/glm-4.7.txt b/glm-4.7.txt new file mode 100644 index 0000000..30d74d2 --- /dev/null +++ b/glm-4.7.txt @@ -0,0 +1 @@ +test \ No newline at end of file