posts - 232,  comments - 527,  trackbacks - 0

kbmmw 自从4.8.2 版本里增加了日志管理以后,随着版本升级,增加了很多功能,使用方法也有所改变。

功能也越来越强大。

今天说一下 kbmmw5 里面的日志备份,顺便演示一下新的使用方法。

我们要使用kbmmw 的日志管理,首先要引用kbmMWLog 单元,引用这个单元后,默认开启一个

日志对象 log。一般我们在程序开始时就要记录一些信息。因此把它放到 初始化里面。我们要使用日志文件,

首先定义一个文件日志管理器。

 

var
  filelogmgr:TkbmMWLocalFileLogManager; //文件日志

 

然后我们在主单元里面添加日志设置代码

initialization
     filelogmgr:=TkbmMWLocalFileLogManager.Create('.\logs\log.txt'); // ,一个是日志文件
     filelogmgr.FileOptions:=[mwlfoBackup,mwlfoTimestampBackup]; //备份日志,并且备份文件用时间戳命名
     //[mwlfoDeleteOldLog];//:=true; // 删除老的日志文件

     filelogmgr.MaxLogFileSize:=1024; //文件大小以KB 为单位


     filelogmgr.FlushInterval:=0; // 写文件时间间隔,0 为立即写文件
     Log.LogManager:=filelogmgr; //
     log.Info('日志开始');

 

 通过上面的设置,我们就实现了日志文件备份。如果日志文件大于1M,就备份,这样方便以后打开分析。

我们在我们的服务器代码里面就可以根据实际情况做日志记录

function TkbmMWCustomHTTPSmartService1.HelloWorld:string;
var
   hlp:TkbmMWRESTTransportStreamHelper;
  m:string;
begin



   hlp:=TkbmMWRESTTransportStreamHelper(RequestTransportStream.Helper);

   m:=hlp.Operation;
   log.info(m+' '+ hlp.URL );

   Result:='{"result":"Hello world", "from":"'+RequestTransportStream.RemoteLocation+'", "method":"'+m +'",'+
              '"maxinstant":'+TkbmMWServiceDefinition(self.ServiceDefinition).MaxCount.ToString +','+
              '"mininstant":'+TkbmMWServiceDefinition(self.ServiceDefinition).MinCount.ToString +' }';

  log.debug('result:='+result);

end;

我们运行服务器,使用AB 测试

 

然后我们再看生成的日志

 

打开日志目录,我们可以看到按照1M的大小,生成了日志备份文件。

 

打完收功。

 

posted on 2019-05-25 11:45 xalion 阅读(...) 评论(...) 编辑 收藏