unit CodingLogger; interface uses mybean.core.objects, Classes, SysUtils, StrUtils, WindowsSysVersion, superobject, Dialogs, IdHTTP, ULogger, InterfaceLogger, DateUtils, BaseLogger; type TCodingLogger = class(TBaseLogger, ILogger) public procedure Log(AMessage, ACode, ALoginName, AStrLevel: string); overload; override; stdcall; constructor Create; override; destructor Destroy; override; end; implementation uses Windows, CodingFrom; { TLoggerBean } const LOG_FORMAT: string = '代码:%s;'+#13+'信息:%s;'+#13+'用户名:%s;'+#13+'级别:%s;'; constructor TCodingLogger.Create; begin inherited; if CodingLoggerForm = nil then begin CodingLoggerForm := TCodingLoggerForm.Create(nil); CodingLoggerForm.Show; end; end; destructor TCodingLogger.Destroy; begin // if CodingLoggerForm <> nil then // FreeAndNil(CodingLoggerForm); inherited; end; procedure TCodingLogger.Log(AMessage, ACode, ALoginName, AStrLevel: string); begin if CodingLoggerForm <> nil then CodingLoggerForm.InsertLog(AMessage, ACode, ALoginName, AStrLevel); // Messagebox(0, PChar(Format(LOG_FORMAT, [AMessage, ACode, ALoginName, AStrLevel])), PChar('CodingLogger'), MB_OK); end; end.