dxcachedw3svcv30logging.pas
来自「Well known and usefull component for del」· PAS 代码 · 共 94 行
PAS
94 行
unit DXCachedW3SVCv30Logging;
interface
///////////////////////////////////////////////////////////////////////////////
// Component: TDXCachedW3SVCv30Logging
// Author: G.E. Ozz Nixon Jr. (onixon@dxsock.com)
// Copyright: All code is the property of Brain Patchwork DX (tm) and part of
// the DXSock (r) product, which are (c) 1999,2002 Brain Patchwork DX.
// Version: 2.3 (2nd Generation Code)
// ==========================================================================
// This is a descendant to TDXCachedLogging that has been setup for writing
// IIS 3.0 log files.
///////////////////////////////////////////////////////////////////////////////
uses
DXCachedLogging,
Classes;
{$I DXAddons.def}
{$WARNINGS OFF}
type
TDXCachedW3SVCv30Logging=class(TDXCachedLogging)
private
// Private declarations
fsDateFormat:string;
HostName:string;
protected
// Protected declarations
public
// Public declarations
constructor Create(AOwner:TComponent); {$IFNDEF OBJECTS_ONLY}override;
{$ENDIF}
destructor Destroy; override;
procedure Writeln(ClientAddress, RemoteIdent, ServiceName, Method, URI,
QueryString:string; StatusCode, ByteTransfered, TimeTaken:Integer);
published
// Published declarations
property TimeStampFormat:string read fsDateFormat
write fsDateFormat;
end;
{$WARNINGS ON}
implementation
uses
DXSocket,
DXString,
SysUtils;
const
NextField=', ';
constructor TDXCachedW3SVCv30Logging.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
TimeStampFormat:='dd/mm/yy, hh:nn:ss';
HostName:=GetLocalHostName;
end;
destructor TDXCachedW3SVCv30Logging.Destroy;
begin
inherited Destroy;
end;
procedure TDXCachedW3SVCv30Logging.Writeln(ClientAddress, RemoteIdent,
ServiceName, Method, URI, QueryString:string; StatusCode, ByteTransfered,
TimeTaken:Integer);
var
Value:string;
begin
if RemoteIdent='' then RemoteIdent:='-';
Value:=FormatDateTime(TimeStampFormat, Now);
Value:=ClientAddress+NextField+
RemoteIdent+NextField+
Value+NextField+
ServiceName+NextField+
HOSTNAME+NextField+
IntegerToString(ByteTransfered)+NextField+
'0'+NextField+
IntegerToString(TimeTaken)+NextField+
IntegerToString(StatusCode)+NextField+
'0'+NextField+
Method+NextField+
URI+NextField+
QueryString+NextField;
inherited Writeln(Value);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?