X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fengine%2Fe_log.pas;h=aba6e0d99d3f794b3de7f85dbf69d99de4c32a57;hb=2d8ce1896600825a1ba850354b66c4314ead3ede;hp=523c27f068de6ab6392058a12714edf8bda543ed;hpb=7f60063e21b5764c01cf86883d2e1808af8b04ef;p=d2df-sdl.git diff --git a/src/engine/e_log.pas b/src/engine/e_log.pas index 523c27f..aba6e0d 100644 --- a/src/engine/e_log.pas +++ b/src/engine/e_log.pas @@ -31,6 +31,8 @@ type procedure e_InitLog (fFileName: String; fWriteMode: TWriteMode); procedure e_DeinitLog (); +procedure e_SetSafeSlowLog (slowAndSafe: Boolean); + procedure e_WriteLog (TextLine: String; RecordCategory: TRecordCategory; WriteTime: Boolean=True); function DecodeIPV4 (ip: LongWord): string; @@ -146,6 +148,19 @@ var xlogPrefix: AnsiString; xlogLastWasEOL: Boolean = false; xlogWantSpace: Boolean = false; + xlogSlowAndSafe: Boolean = false; + + +procedure e_SetSafeSlowLog (slowAndSafe: Boolean); +begin + xlogSlowAndSafe := slowAndSafe; + if xlogSlowAndSafe and xlogFileOpened then + begin + CloseFile(xlogFile); + xlogFileOpened := false; + end; +end; + procedure logwriter (constref buf; len: SizeUInt); var @@ -247,6 +262,12 @@ begin formatstrf(fmt, args, logwriter); if not xlogLastWasEOL then writeln(xlogFile, '') else writeln(xlogFile, xlogPrefix); + if xlogSlowAndSafe and xlogFileOpened then + begin + CloseFile(xlogFile); + xlogFileOpened := false; + end; + //if fopened then CloseFile(xlogFile); end;