在Andriod程序中输出日志到Windows的QLogServer查看

大家知道日志是我们调试程序的一种重要方式,QDAC的QLog提供了一种异步的日志记录方式,以尽量减少到系统系统性能的影响。而且QLog支持Syslog协议输出,可以将日志输出给其它的syslogd兼容的日志查看器。当然为了方便大家,QDAC实现了一个自己的QLogServer,使用标准的UDP协议514端口来记录日志。

要在Andriod程序中使用QLog来记录日志输出到远程的日志服务器,首先要引用QLog单元(废话,不引用怎么访问其内容记录日志!),然后初始化一个UDP协议的日志传送的TQLogSocketWriter实例:

procedure TForm1.FormCreate(Sender: TObject);
var
  AWriter:TQLogSocketWriter;
begin
AWriter:=TQLogSocketWriter.Create;
AWriter.ServerHost:='192.168.0.2';
AWriter.ServerPort:=514;
Logs.Castor.AddWriter(AWriter);
end;

TQLogSocketWriter.ServerHost指明了服务器地址,ServerPort指明了服务程序监听的端口号,然后我们将其加入到Logs.Castor,以便我们调用PostLog记录日志时,由TQLogSocketWriter将日志写入到远程。

现在程序中PostLog(C++中AddLog)投寄的日志消息就会被远程的QLogServer等日志记录工具可以查看到了。

具体的示例代码可以参考 Demos\Delphi\FMX\QLog 的演示例子。

分享到: