in reply to file state mannagment
this way, everything that is logging, will keep on logging into it's open filedescriptor (ie - the new data will go into .tmp file).foreach $log (@logfiles) { rename($log,$log.".tmp"); ProcessLogfile($log.".tmp"); } foreach $log (@logfiles) { del($log.".tmp"); };
The problem is - how long are your external logging processing keeping their logfile descriptors open, the key part being - are they keeping their descriptors opened indefinitely? Then you're out of luck and can't really do what you're trying to achieve.
If their logging method is
then the method described above would work OK.open(LOG,">>logfile"); print LOG "memo"; close LOG;
|
---|