工程设置(Release or Debug)
Delphi Compiler -> Linking -> Map file -> Detailed
Delphi Compiler -> Compiling -> Debug information -> Debug information
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
|
{*******************************************************}
{ }
{ 工程: 短信专业版 }
{ 单元功能: 日志类 }
{ 作者: Linx }
{ 时间: 2017-12-10 17:29:47 }
{ }
{ 版权所有 (C) 2017 Soesoft }
{ }
{*******************************************************}
unit SMSPro.Log.Logger;
interface
uses
System.SysUtils,
Vcl.ComCtrls,
Data.DBXCommon;
type
TSMSLogger = class
public
class procedure InitSynLog();
function GetCurLogFileName:string;
end;
implementation
uses
SynLog,
SynCommons;
{ TSoeLogger }
class procedure TSMSLogger.InitSynLog;
begin
ForceDirectories('.\log\smspro');
TSynLog.Family.Level := LOG_VERBOSE;
TSynLog.Family.Level := [sllException, sllExceptionOS,sllInfo,sllError,sllEnter];
TSynLog.Family.LocalTimeStamp := True;
//不记录环境变量
TSynLog.Family.NoEnvironmentVariable := True;
//记录单元名
TSynLog.Family.WithUnitName := True;
//行结尾符号
TSynLog.Family.EndOfLineCRLF := True;
TSynLog.Family.DestinationPath := '.\log\smspro\';
//TSynLog.Family.PerThreadLog := true;
//TSynLog.Family.HighResolutionTimeStamp := true;
//TSynLog.Family.AutoFlushTimeOut := 5;
//TSynLog.Family.StackTraceUse := stOnlyAPI;
//lz压缩
TSynLog.Family.OnArchive := EventArchiveSynLZ;
//TSynLog.Family.OnArchive := EventArchiveZip;
TSynLog.Family.ArchiveAfterDays := 7; // archive after one day
TSynLog.Family.RotateFileSizeKB := 10240;
TSynLog.Family.RotateFileDailyAtHour := 20;
//忽略的异常(只是不记录到日志里)
TSynLog.Family.ExceptionIgnore.Add(TDBXError);
TSynLog.Family.ExceptionIgnore.Add(EOSError);
end;
function TSMSLogger.GetCurLogFileName: string;
begin
Exit(TSynLog.Add.FileName);
end;
end.
|