Sample code for 30+ languages & platforms
Delphi ActiveX

Enter/Leave Context in Logging

Demonstrates EnterContext and LeaveContext using the Chilkat Log API.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
log: TChilkatLog;

begin
log := TChilkatLog.Create(Self);

// Initialize the log object with an initial context tag:
log.Clear('myLog');

// Add some information..
log.LogInfo('Hello, I''m here...');

// Open a sub-context
log.EnterContext('abc');

// New information is now logged within the "abc" context.
log.LogInfo('This is inside the abc context');
log.LogError('File not found.');

// Perhaps open a new context...
log.EnterContext('fileInfo');
log.LogData('filename','something.txt');
log.LogData('path','/somedir/xyz');
log.LeaveContext();

// Close the "abc" context.
log.LeaveContext();

// Examine the content of the log:
Memo1.Lines.Add(log.LastErrorText);

// This is the output:

// myLog:
//   Hello, I'm here...
//   abc:
//     This is inside the abc context
//     File not found.
//     fileInfo:
//       filename: something.txt
//       path: /somedir/xyz
//     --fileInfo
//   --abc
// --myLog
end;