⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syslogserverenterprise.~pas

📁 此软件是一个 日志服务器
💻 ~PAS
字号:
unit SysLogServerEnterprise;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,
  IdSysLogServer, ComCtrls,IdSocketHandle,IdSysLogMessage,
  Grids, DBGrids,syslogunit;

type
  TSysLogFrm = class(TForm)
    SysLogServer: TIdSyslogServer;
    quit_btn: TButton;
    start_btn: TButton;
    stop_btn: TButton;
    StatusBar1: TStatusBar;
    setup_btn: TButton;
    MsgView_memo: TMemo;
    procedure quit_btnClick(Sender: TObject);
    procedure start_btnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SysLogServerSyslog(Sender: TObject;
      ASysLogMessage: TIdSysLogMessage; ABinding: TIdSocketHandle);
    procedure FormDestroy(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
    SysDatabaseLoger :TSysLog;
  public
    { Public declarations }
  end;

var
  SysLogFrm: TSysLogFrm;

implementation

{$R *.dfm}

procedure TSysLogFrm.quit_btnClick(Sender: TObject);
begin
  close ;
end;

procedure TSysLogFrm.start_btnClick(Sender: TObject);
begin
  //启动服务器
end;

procedure TSysLogFrm.FormCreate(Sender: TObject);
begin
  //创建 日志服务器的对象
  SysDatabaseLoger :=  TSysLog.create;
  SysLogServer := TIdSyslogServer.Create(nil);
end;

procedure TSysLogFrm.SysLogServerSyslog(Sender: TObject;
  ASysLogMessage: TIdSysLogMessage; ABinding: TIdSocketHandle);
var
  ttIp :string ;
  ttHostname : string ;
  ttNamepath : string ;
  ttText : string ;

begin
  //禁用退出按键,防止意外发生
  quit_btn.Enabled := false ;
  //取得消息的详细信息
  ttIP        := ABinding.IP;
  ttHostName  := ASysLogMessage.Hostname ;
  ttNamepath  := ASysLogMessage.msg.GetNamePath;
  ttText      := ASysLogMessage.Msg.Text ;

  //对StringGrid添加数据方便查看
  try
    SysDatabaseLoger.InsertRec(ttIP,ttHostName,ttNamepath,ttText);
  except
    application.MessageBox('error while writing database .','error',MB_OK);
  end;
  if MsgView_memo.Lines.Count >100 then
     MsgView_memo.Lines.Clear;
  MsgView_memo.Lines.Add(
          intTostr(MsgView_memo.Lines.Count)
          +'  '+DatetimeToStr(now)
          +'  '+ttIP
          +'  '+ttHostName
          +'  '+ttNamepath
          +'  '+ttText);
  //启用退出按键,防止意外发生
  quit_btn.Enabled := true ;
end;

procedure TSysLogFrm.FormDestroy(Sender: TObject);
begin
  SysDatabaseLoger.Free;
  SysLogServer.Free;
end;

procedure TSysLogFrm.FormResize(Sender: TObject);
begin
  MsgView_memo.Width := self.ClientWidth-15 ;
  MsgView_memo.Height := self.ClientHeight-70 ;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -