2014-05-18 18:09:07 +00:00
|
|
|
unit X2Log.Constants;
|
|
|
|
|
|
|
|
interface
|
|
|
|
uses
|
|
|
|
X2Log.Intf;
|
|
|
|
|
|
|
|
|
|
|
|
resourcestring
|
|
|
|
LogLevelVerbose = 'Verbose';
|
|
|
|
LogLevelInfo = 'Info';
|
|
|
|
LogLevelWarning = 'Warning';
|
|
|
|
LogLevelError = 'Error';
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
X2Log.Observer.LogFile
|
|
|
|
}
|
|
|
|
|
|
|
|
{ Date format used to determine the file name of detail files }
|
2014-06-23 18:40:33 +00:00
|
|
|
LogFileNameDateFormat = 'yyyymmdd_hhnn';
|
2014-05-18 18:09:07 +00:00
|
|
|
|
|
|
|
{ Date format used in log files }
|
2014-06-23 18:40:33 +00:00
|
|
|
LogFileLineDateFormat = 'yyyy-mm-dd hh:nn';
|
2014-05-18 18:09:07 +00:00
|
|
|
|
|
|
|
{ The text added to the message if details are stored externally }
|
|
|
|
LogFileLineDetails = ' (details: %s)';
|
|
|
|
|
|
|
|
|
2014-05-20 08:49:57 +00:00
|
|
|
{
|
|
|
|
X2Log.Observer.MonitorForm
|
|
|
|
}
|
|
|
|
|
|
|
|
{ Caption of the monitor form. %s is optional and will be replaced
|
|
|
|
with the application's title }
|
|
|
|
LogMonitorFormCaption = '%s - Live Log';
|
|
|
|
|
|
|
|
{ Caption of the columns in the live log view }
|
|
|
|
LogMonitorFormColumnTime = 'Time';
|
|
|
|
LogMonitorFormColumnMessage = 'Message';
|
|
|
|
|
2014-05-20 09:19:04 +00:00
|
|
|
{ Caption of the toolbar buttons }
|
|
|
|
LogMonitorFormButtonClear = 'Clear';
|
2014-05-31 20:47:52 +00:00
|
|
|
LogMonitorFormButtonPause = 'Pause';
|
2014-05-20 19:17:23 +00:00
|
|
|
LogMonitorFormButtonCopyDetails = 'Copy';
|
2014-05-20 09:19:04 +00:00
|
|
|
LogMonitorFormButtonSaveDetails = 'Save';
|
|
|
|
|
2014-05-31 20:47:52 +00:00
|
|
|
LogMonitorFormButtonFilter = 'Filter:';
|
|
|
|
|
2014-05-20 19:17:23 +00:00
|
|
|
{ Status messages }
|
|
|
|
LogMonitorFormStatusPaused = 'Paused: %d log message(s) skipped';
|
|
|
|
|
2014-05-31 20:10:10 +00:00
|
|
|
{ Filter for Save details buttons }
|
2014-05-30 12:51:01 +00:00
|
|
|
LogMonitorFormSaveDetailsFilter = 'All files (*.*)|*.*';
|
|
|
|
|
2014-05-20 08:49:57 +00:00
|
|
|
|
2014-05-18 18:09:07 +00:00
|
|
|
function GetLogLevelText(ALogLevel: TX2LogLevel): string;
|
|
|
|
|
|
|
|
function GetLogResourceString(AResourceString: Pointer): string;
|
|
|
|
procedure SetLogResourceString(AResourceString: Pointer; const AValue: string);
|
|
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
uses
|
|
|
|
System.Generics.Collections,
|
|
|
|
System.SysUtils;
|
|
|
|
|
|
|
|
|
2014-05-31 20:10:10 +00:00
|
|
|
type
|
|
|
|
TResourceStringDictionary = TDictionary<Pointer,string>;
|
|
|
|
|
2014-05-18 18:09:07 +00:00
|
|
|
var
|
2014-05-31 20:10:10 +00:00
|
|
|
LogResourceStringMap: TResourceStringDictionary;
|
2014-05-18 18:09:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GetLogLevelText(ALogLevel: TX2LogLevel): string;
|
|
|
|
begin
|
|
|
|
case ALogLevel of
|
|
|
|
TX2LogLevel.Verbose: Result := GetLogResourceString(@LogLevelVerbose);
|
|
|
|
TX2LogLevel.Info: Result := GetLogResourceString(@LogLevelInfo);
|
|
|
|
TX2LogLevel.Warning: Result := GetLogResourceString(@LogLevelWarning);
|
|
|
|
TX2LogLevel.Error: Result := GetLogResourceString(@LogLevelError);
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
function GetLogResourceString(AResourceString: Pointer): string;
|
|
|
|
begin
|
|
|
|
TMonitor.Enter(LogResourceStringMap);
|
|
|
|
try
|
|
|
|
if LogResourceStringMap.ContainsKey(AResourceString) then
|
|
|
|
Result := LogResourceStringMap[AResourceString]
|
|
|
|
else
|
|
|
|
Result := LoadResString(AResourceString);
|
|
|
|
finally
|
|
|
|
TMonitor.Exit(LogResourceStringMap);
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure SetLogResourceString(AResourceString: Pointer; const AValue: string);
|
|
|
|
begin
|
|
|
|
TMonitor.Enter(LogResourceStringMap);
|
|
|
|
try
|
|
|
|
LogResourceStringMap.AddOrSetValue(AResourceString, AValue);
|
|
|
|
finally
|
|
|
|
TMonitor.Exit(LogResourceStringMap);
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
initialization
|
2014-05-31 20:10:10 +00:00
|
|
|
LogResourceStringMap := TResourceStringDictionary.Create;
|
2014-05-18 18:09:07 +00:00
|
|
|
|
|
|
|
finalization
|
|
|
|
FreeAndNil(LogResourceStringMap);
|
|
|
|
|
|
|
|
end.
|