[Twisted-Python] Controlling twisted logging

Eric Mangold teratorn at twistedmatrix.com
Wed Dec 1 23:14:55 EST 2004


Eric Mangold wrote:

> Norm Petterson wrote:
>
>> Hello,
>>
>> Having just spent some time trying to "turn off" twisted logging via
>> log.discardLogs() and/or log.startLogging(log.NullFile()) in a twisted  
>> app
>> that initially logs to an actual file, it seems that
>> log.startLogging(log.NullFile()) only works as expected if no previous
>> startLogging call using a valid file object has been made. Otherwise,
>> messages continue to be logged.
>
> It seems the best documentation is the source!
>
> startLogging will create a FileLogObserver that wraps the passed in
> file-object. The "emit"
> method of that FileLogObserver gets added to the *list* of observers.
>
> So startLogging does not stop things being logged to files that you  
> passed
> in
> on previous calls to startLogging.
>
> If you want to be able to start logging on a given file then you need to

Err, I meant to say *stop* logging on a given file...

> be more explicit
> about what objects are getting created. For example:
> (untested)
>
> flo = FileLogObserver(file)
> startLoggingWithObserver(flo.emit)
>
> then later you can do, e.g.
>
> flo.stop()
>
> then later
>
> flo.start()
>
>
>> Is this observation correct, or am I overlooking some way to enable  
>> logging
>> to a logfile and subsequently disable it?
>
> Looks like correct behavior to me.
>
>> In my above experiments,
>> log.discardLogs() seemed to have no effect either once valid file  
>> logging
>> had been initiated with log.startLogging.
>
> Yeah, have a glace at the implementation of discardLogs()
>
> -Eric







More information about the Twisted-Python mailing list