| | 467 | // Set logfile maximum size per file |
| | 468 | /*****************************************************************************/ |
| | 469 | void TxSetLogMaxSize |
| | 470 | ( |
| | 471 | ULONG size // IN maximum size, bytes |
| | 472 | ) |
| | 473 | { |
| | 474 | log_maxsize = size; |
| | 475 | } // end 'TxSetLogMaxSize' |
| | 476 | /*---------------------------------------------------------------------------*/ |
| | 477 | |
| | 478 | |
| | 479 | /*****************************************************************************/ |
| | 480 | // Set logfile number of files to retain on cycle, #files besides .log itself |
| | 481 | /*****************************************************************************/ |
| | 482 | void TxSetLogRetain |
| | 483 | ( |
| | 484 | ULONG retain // IN retain count |
| | 485 | ) |
| | 486 | { |
| | 487 | log_retain = retain; |
| | 488 | } // end 'TxSetLogRetain' |
| | 489 | /*---------------------------------------------------------------------------*/ |
| | 490 | |
| | 491 | |
| | 492 | /*****************************************************************************/ |
| | 561 | |
| | 562 | if ((log_maxsize > size) && (log_written > (log_maxsize - size))) |
| | 563 | { |
| | 564 | TXLN fname; |
| | 565 | |
| | 566 | log_written = 0; // avoid recursive cycling |
| | 567 | fprintf( log_handle, "\nClosing logfile at size limit\n"); |
| | 568 | |
| | 569 | TxAppendToLogFile( NULL, FALSE); // close current log, quiet |
| | 570 | if (log_seq_num >= log_retain) // need to delete one |
| | 571 | { |
| | 572 | TxBuildLogName( log_seq_num - log_retain, fname); |
| | 573 | remove( fname); // delete a logfile (cycle) |
| | 574 | } |
| | 575 | TxBuildLogName( (log_retain) ? ++log_seq_num : 0, fname); |
| | 576 | TxAppendToLogFile( fname, FALSE); // open next logfile, quiet |
| | 577 | log_handle = TxQueryLogFile( &log7bit, &logreopen); |
| | 578 | fprintf( log_handle, "Start next logfile: '%s'\n", fname); |
| | 579 | } |
| | 580 | else |
| | 581 | { |
| | 582 | log_written += size; // maintain total size in log |
| | 583 | } |
| | 584 | |