Example #1
0
    def test_reopen_files_missing_wref(self):
        # simulate concurrent iteration that pops the ref
        def wr():
            loghandler._reopenable_handlers.remove(wr)

        loghandler._reopenable_handlers.append(wr)
        loghandler.reopenFiles()
Example #2
0
    def test_reopen_files_missing_wref(self):
        # simulate concurrent iteration that pops the ref
        def wr():
            loghandler._reopenable_handlers.remove(wr)

        loghandler._reopenable_handlers.append(wr)
        loghandler.reopenFiles()
Example #3
0
 def test_logfile_reopening(self):
     #
     # This test only applies to the simple logfile reopening; it
     # doesn't work the same way as the rotating logfile handler.
     #
     paths = self.mktemp(), self.mktemp(), self.mktemp()
     d = {
         "path0": paths[0],
         "path1": paths[1],
         "path2": paths[2],
         }
     text = self._sampleconfig_template % d
     conf = self.get_config(text)
     self.assertEqual(len(conf.loggers), 2)
     # Build the loggers from the configuration, and write to them:
     conf.loggers[0]().info("message 1")
     conf.loggers[1]().info("message 2")
     npaths1 = [self.move(fn) for fn in paths]
     #
     # We expect this to re-open the original filenames, so we'll
     # have six files instead of three.
     #
     loghandler.reopenFiles()
     #
     # Write to them again:
     conf.loggers[0]().info("message 3")
     conf.loggers[1]().info("message 4")
     npaths2 = [self.move(fn) for fn in paths]
     #
     # We expect this to re-open the original filenames, so we'll
     # have nine files instead of six.
     #
     loghandler.reopenFiles()
     #
     # Write to them again:
     conf.loggers[0]().info("message 5")
     conf.loggers[1]().info("message 6")
     #
     # We should now have all nine files:
     for fn in paths:
         self.assert_(os.path.isfile(fn), "%r must exist" % fn)
     for fn in npaths1:
         self.assert_(os.path.isfile(fn), "%r must exist" % fn)
     for fn in npaths2:
         self.assert_(os.path.isfile(fn), "%r must exist" % fn)
     #
     # Clean up:
     for logger in conf.loggers:
         logger = logger()
         for handler in logger.handlers[:]:
             logger.removeHandler(handler)
             handler.close()
Example #4
0
 def test_logfile_reopening(self):
     #
     # This test only applies to the simple logfile reopening; it
     # doesn't work the same way as the rotating logfile handler.
     #
     paths = self.mktemp(), self.mktemp(), self.mktemp()
     d = {
         "path0": paths[0],
         "path1": paths[1],
         "path2": paths[2],
     }
     text = self._sampleconfig_template % d
     conf = self.get_config(text)
     self.assertEqual(len(conf.loggers), 2)
     # Build the loggers from the configuration, and write to them:
     conf.loggers[0]().info("message 1")
     conf.loggers[1]().info("message 2")
     npaths1 = [self.move(fn) for fn in paths]
     #
     # We expect this to re-open the original filenames, so we'll
     # have six files instead of three.
     #
     loghandler.reopenFiles()
     #
     # Write to them again:
     conf.loggers[0]().info("message 3")
     conf.loggers[1]().info("message 4")
     npaths2 = [self.move(fn) for fn in paths]
     #
     # We expect this to re-open the original filenames, so we'll
     # have nine files instead of six.
     #
     loghandler.reopenFiles()
     #
     # Write to them again:
     conf.loggers[0]().info("message 5")
     conf.loggers[1]().info("message 6")
     #
     # We should now have all nine files:
     for fn in paths:
         self.assertTrue(os.path.isfile(fn), "%r must exist" % fn)
     for fn in npaths1:
         self.assertTrue(os.path.isfile(fn), "%r must exist" % fn)
     for fn in npaths2:
         self.assertTrue(os.path.isfile(fn), "%r must exist" % fn)
     #
     # Clean up:
     for logger in conf.loggers:
         logger = logger()
         for handler in logger.handlers[:]:
             logger.removeHandler(handler)
             handler.close()
Example #5
0
 def cmd_reopen_transcript(self, args):
     reopenFiles()
     if self.transcript is not None:
         self.transcript.reopen()
Example #6
0
def sigusr2_handler(signum, frame):
    "Rotate logfiles in response to SIGUSR2." ""
    reopenFiles()
Example #7
0
def sigusr2_handler(signum, frame):
    "Rotate logfiles in response to SIGUSR2." ""
    reopenFiles()