SubDir:="E:\\testLog\\test-";
a:=WriteToLog("",SubDir,"test");
//写入失败时,返回结果不等于1
if a<>1 then
begin
echo "WriteToLog-异常:"$a[0];
//重新写入数据
a:=WriteToLog("",SubDir,"重写:"$a[1]);
end;
return a;
完整代码范例:
SubDir:="E:\\testLog\\test-";
r:=array();
k:=0;
//多线程写日志场景模拟,10个线程同时写日志。
for i:=1 to 10 do
begin
r[k++]:=#WriteToLog("",SubDir,'AAA-'$i);
end;
sleep(2*1000);//等待2秒,等待并发处理完成,避免继续竞争资源
//获取处理结果,若写入失败的,则重新写入
n:=0;
t:=array();
for j:=0 to length(r)-1 do
begin
//等待返回
a:=dupvalue(r[j]);
//写入失败时,处理
if a<>1 then
begin
echo "WriteToLog-异常:"$a[0];
a:=WriteToLog("",SubDir,"重写:"$a[1]);
t[n++]:=a;
end;
end;
return t;