in reply to file state mannagment
You do it like this:
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;
|
---|
In Section
Seekers of Perl Wisdom