def start(self, level="WARN"):
        """ Start logging with this logger.

        Until the logger is started, no messages will be emitted. This applies
        to all loggers with the same name and any child loggers.

        Messages less than the given priority level will be ignored. The
        default level is 'WARN', which conforms to the *nix convention that a
        successful run should produce no diagnostic output. Available levels
        and their suggested meanings:

          DEBUG - output useful for developers
          INFO - trace normal program flow, especially external interactions
          WARN - an abnormal condition was detected that might need attention
          ERROR - an error was detected but execution continued
          CRITICAL - an error was detected and execution was halted

        """
        if self.active:
            return
        handler = StreamHandler()  # stderr
        handler.setFormatter(Formatter(self.LOGFMT))
        self.addHandler(handler)
        self.setLevel(level.upper())
        self.active = True
        return
Start logging with this logger.

        Until the logger is started, no messages will be emitted. This applies
        to all loggers with the same name and any child loggers.

        Messages less than the given priority level will be ignored. The
        default level is 'WARN', which conforms to the *nix convention that a
        successful run should produce no diagnostic output. Available levels
        and their suggested meanings:

          DEBUG - output useful for developers
          INFO - trace normal program flow, especially external interactions
          WARN - an abnormal condition was detected that might need attention
          ERROR - an error was detected but execution continued
          CRITICAL - an error was detected and execution was halted