def __init__ (self,logfile=None,loggername=None,level=logging.INFO):
        # default is to locate loggername from the logfile if avail.
        if not logfile:
            #loggername='console'
            #handler=logging.StreamHandler()
            #handler.setFormatter(logging.Formatter("%(levelname)s %(message)s"))
            logfile = "/var/log/sfa.log"

        if not loggername:
            loggername=os.path.basename(logfile)
        try:
            handler=logging.handlers.RotatingFileHandler(logfile,maxBytes=1000000, backupCount=5) 
        except __HOLE__:
            # This is usually a permissions error becaue the file is
            # owned by root, but httpd is trying to access it.
            tmplogfile=os.getenv("TMPDIR", "/tmp") + os.path.sep + os.path.basename(logfile)
            # In strange uses, 2 users on same machine might use same code,
            # meaning they would clobber each others files
            # We could (a) rename the tmplogfile, or (b)
            # just log to the console in that case.
            # Here we default to the console.
            if os.path.exists(tmplogfile) and not os.access(tmplogfile, os.W_OK):
                loggername = loggername + "-console"
                handler = logging.StreamHandler()
            else:
                handler=logging.handlers.RotatingFileHandler(tmplogfile,maxBytes=1000000, backupCount=5) 

        handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
        self.logger=logging.getLogger(loggername)
        self.logger.setLevel(level)
        # check if logger already has the handler we're about to add
        handler_exists = False
        for l_handler in self.logger.handlers:
            if l_handler.baseFilename == handler.baseFilename and \
               l_handler.level == handler.level:
                handler_exists = True

        if not handler_exists:
            self.logger.addHandler(handler)

        self.loggername=loggername
dataset/ETHPy150Open fp7-ofelia/ocf/ofam/src/src/ext/sfa/util/sfalogging.py/_SfaLogger.__init__