-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathSpring.Tests.Logging.CodeSite.dpr
84 lines (74 loc) · 1.96 KB
/
Spring.Tests.Logging.CodeSite.dpr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
program Spring.Tests.Logging.CodeSite;
{$APPTYPE CONSOLE}
uses
SysUtils,
Classes,
Spring.Logging,
Spring.Logging.Appenders.CodeSite in '..\Source\Base\Logging\Spring.Logging.Appenders.CodeSite.pas',
// Spring.Logging.Appenders.SmartInspect in '..\Source\Base\Logging\Spring.Logging.Appenders.SmartInspect.pas',
Spring.Logging.Controller,
Spring.Logging.Loggers;
function InitLog: ILogger;
var
appender: ILogAppender;
controller: ILoggerController;
begin
appender := TCodeSiteAppender.Create;
// appender := TSmartInspectAppender.Create;
(appender as ILoggerProperties).Levels := LOG_ALL_LEVELS;
controller := TLoggerController.Create;
controller.AddAppender(appender);
(controller as ILoggerProperties).Levels := LOG_ALL_LEVELS;
Result := TLogger.Create(controller);
(Result as ILoggerProperties).Levels := LOG_ALL_LEVELS;
end;
procedure TestTrack(const log: ILogger);
begin
log.Track(TLogLevel.Info, TLogger, 'TestTrack');
log.Warn('Warning text');
log.Log(TLogEvent.Create(TLogLevel.Info, 'Log message with color')
.SetColor($5555FF));
end;
procedure TestException(const log: ILogger);
begin
log.Track(TLogLevel.Info, TLogger, 'TestException');
try
Abort;
except
on E: EAbort do
begin
log.Error('', E);
log.Error('With message', E);
end;
end;
end;
procedure TestValues(const log: ILogger);
var
c: TComponent;
begin
log.Track(nil, 'TestValue');
c := TComponent.Create(nil);
try
c.Name := 'SomeName';
log.LogValue('c', c);
finally
c.Free;
end;
log.LogValue('integer', 5);
end;
var
log: ILogger;
begin
log := InitLog;
log.Enter(TLogLevel.Info, nil, 'Spring.Tests.Logging.CodeSite');
log.Fatal('Fatal message');
log.Error('Error message');
log.Info('Info message');
log.Text('Text message');
log.Debug('Debug message');
log.Trace('Verbose message');
TestTrack(log);
TestException(log);
TestValues(log);
log.Leave(TLogLevel.Info, nil, 'Spring.Tests.Logging.CodeSite');
end.