![](https://secure.gravatar.com/avatar/31c211cb0205bbcc687cda60fc8ea9b9.jpg?s=120&d=mm&r=g)
Am Donnerstag, 4. August 2016 16:48:42 UTC+2 schrieb Peter Otten:
Du wirst vom Blitz getroffen und dann von einem Bus überfahren ;)
Eieiei, dann sollte ich mich von Busfahrern fernhalten, die Python können, hm?
Im Ernst, ich würde wahrscheinlich nur die Zieldatei des FileHandlers variieren und alles andere in Ruhe lassen. Hier mein Versuch, die wesentlichen Teile vom RotatingFileHandler zu klauen:
import logging import os
class RetargetableFileHandler(logging.FileHandler): def retarget(self, filename): if self.stream: self.stream.close() self.stream = None self.baseFilename = os.path.abspath(filename) if not self.delay: self.stream = self._open()
Ok, das scheint mir etwas eleganter zu sein, aber wirklich "einfach" ist es auch nicht. (Ich weiß, das ist Ansichtssache. Daher die Anführungszeichen. :-)) Was ich nciht ganz verstehe ist, wieso ein existierender Logger (incl. seines FileHandlers) benutzt wird, obwohl ich explizit einen neuen anlege. Mit einem eigenen Namen wohlgemerkt! (Ich habe durchaus gelesen, dass getLogger(), mit einem existierenden Namen aufgerufen, auch den bereits existierenden Logger ausgibt.) Robin