Delphi のデバッグに四苦八苦している状況を助けるために、Delphi 版の syslog 送信ユニットを作成しました。と言っても、かなり手抜きです。ポートが合っているだけで、syslog か?というツッコミは無しで・・・。
// syslogc.pas
unit syslogc;
interface
uses Windows, WinSock, SysUtils;
procedure udp_send( msg: string );
implementation
procedure udp_send( msg: string );
var
len: integer;
buf: array [0..4096] of Char;
wsaData: TWSAData;
sock: TSocket;
addr: TSockAddrIn;
begin
len := Length(msg);
strpcopy( buf, msg ); // 手抜き
if 0 = WSAStartup( MakeWord(2,0), wsaData ) then begin
sock := socket( AF_INET, SOCK_DGRAM, 0 );
if sock <> INVALID_SOCKET then begin
addr.sin_family := AF_INET;
addr.sin_port := htons(514);
addr.sin_addr.S_addr := inet_addr(PChar('127.0.0.1'));
sendto( sock, buf, len, 0, addr, sizeof(addr) );
end;
WSACleanup();
end;
end;
end.
0 件のコメント:
コメントを投稿