Source code for mooncake_utils.log

import logging
from mooncake_utils.file import mkdirp
import os,sys
from logging.handlers import TimedRotatingFileHandler,RotatingFileHandler
logbase = os.path.dirname(os.path.abspath(sys.argv[0])) + '/log/'

[docs]def get_logger( debug = True, name = "mu.log", with_file = False): """get_logger :param debug: :param name: :param with_file: """ if name == None or name == "": return None formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - <%(filename)s-%(funcName)s:%(lineno)d> : %(message)s') if debug: level=logging.DEBUG else: level=logging.INFO logger = logging.getLogger(name) logger.setLevel(level) console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) logger.addHandler(console_handler) if with_file: mkdirp(logbase) log_file = logbase + "%s.log" % name file_handler = TimedRotatingFileHandler( log_file, "midnight", 1, 30, None, True) file_handler.setFormatter(formatter) logger.addHandler(file_handler) logger.info("add file_hander to logger {}".format(log_file)) logger.info("init logger success [{}]".format(name)) return logger
if __name__ == "__main__": logger = get_logger(debug = True, name = "mooncake_utils") logger.info("mooncake's a good guy!")