[Twisted-Python] Log rotates not as expected

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Fri Jan 22 15:52:35 EST 2010

On 10:15 am, petshmidt at googlemail.com wrote:
>On Fri, Jan 22, 2010 at 12:13 AM, Lucas Taylor 
><ltaylor.volks at gmail.com> wrote:
>>On 1/21/10 11:17 AM, Pet wrote:
>>>On Thu, Jan 21, 2010 at 7:02 PM, Maarten ter Huurne
>>><maarten at treewalker.org> wrote:
>>>>On Thursday 21 January 2010, Lucas Taylor wrote:
>>>>>This can occur if you have multiple instances of logfile.LogFile 
>>>>>to manage the same file. The default rotation is 1MB, so maybe you 
>>>>>another logfile.LogFile somewhere?
>>>>Maybe twistd's log rotation?
>>>Yes, may be. I start my daemon with
>>>/usr/bin/twistd -y mydaemon.py --logfile=/var/log/my.log
>>>How do I start twistd, so it doesn't produce own log file?
>>>Thanks for help!
>>You can customize the application to use your logfile and observer:
>>class MyLog(log.FileLogObserver):
>>   def emit(self, logEntryDict):
>>       log.FileLogObserver.timeFormat = '%Y-%m-%d %H:%M:%S'
>>       log.FileLogObserver.emit(self, logEntryDict)
>>maxLogSize = 5000000
>>logFile = logfile.LogFile("my.log", "/var/log", 
>>application = service.Application("myapp")
>>application.setComponent(log.ILogObserver, MyLog(logFile).emit)
>Thanks for suggestion. I'll try it out as soon as I can. Currently I
>do it in that way:
>application = service.Application("MyService")
>myLogService = myLogService(LOG_NAME, LOG_DIR)
>what is the difference between creating service and setting
>setServiceParent and setComponent?

Just that if there's an ILogObserver component on the application, then 
twistd doesn't bother to set up the default log observer.


More information about the Twisted-Python mailing list