5 from . import constants
11 constants.DEBUG: logging.DEBUG,
12 constants.INFO: logging.INFO,
13 constants.WARNING: logging.WARNING,
14 constants.ERROR: logging.ERROR,
15 constants.CRITICAL: logging.CRITICAL
19 def init(filename, level=constants.DEBUG):
20 """Initialize the logger.
22 :param filename: base name of the log file
23 :param level: logging level (Default value = DEBUG)
27 LOG_FILE = os.path.join(tempfile.gettempdir(), filename)
28 with open(LOG_FILE, 'w'):
32 LOGGER = logging.getLogger('Three.Export')
33 LOGGER.setLevel(LEVELS[level])
35 if not LOGGER.handlers:
36 stream = logging.StreamHandler()
37 stream.setLevel(LEVELS[level])
39 format_ = '%(asctime)s - %(name)s - %(levelname)s: %(message)s'
40 formatter = logging.Formatter(format_)
42 stream.setFormatter(formatter)
44 file_handler = logging.FileHandler(LOG_FILE)
45 file_handler.setLevel(LEVELS[level])
46 file_handler.setFormatter(formatter)
48 LOGGER.addHandler(stream)
49 LOGGER.addHandler(file_handler)
55 if LOGGER is not None:
83 LOGGER.critical(*args)