Using logging module to log into flash drive
Jorgen Grahn
grahn+nntp at snipabacken.se
Wed Jun 10 18:24:12 EDT 2009
On Tue, 9 Jun 2009 18:10:18 +0100, A. Cavallo <a.cavallo at mailsnare.com> wrote:
[top-posting fixed]
> On Tuesday 09 June 2009 16:57:00 kretel wrote:
>> Hi All,
>>
>> I am trying to implement the following functionality:
>> 1. log messages to the flash drive
>> 2. if the flash drive is not available, switch handler to the
>> BufferringHandler and log into buffer,
>> 3. once the flash drive is plugged in and available store the logs
>> from BufferHandler into that flash drive and switch the handler into
>> RotateFileHandler.
>>
>> Which approach would you suggest to use while implementing this
>> functionality?
First, to ignore the words "flash drive" and think in terms of "can I
open the file named so-and-so for writing?". Unless you absolutely
must avoid storing your file on a file system based on some other
storage technology.
>> One that come into my mind is to have one process or
>> thread to check periodically if the flashdrive is available, and have
>> a flag that will indicate that we can store the logs into the flash
>> drive. But I don't particularly like this approach.
>> Would you do it different way?
>> Any suggestions are appreciated.
> Hi,
> the problem screams for a separate thread.
I don't hear any screaming. It seems simpler to just
def log(something):
if logging_to_memore() and seconds_since_i_last_checked() > N:
try_to_switch_to_file()
do_the_actual_logging(something)
unless it's vital that as many of these logs as possible survive a
crash (in which case I guess the program would also refuse to exit
until the user finds the physical flash memory device somewhere and
mounts it correctly -- flashback to ancient floppy-based Macs).
Yes, I find the requirements quite odd.
/Jorgen
--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.se> R'lyeh wgah'nagl fhtagn!
More information about the Python-list
mailing list