1234567891011121314151617181920212223242526272829303132 |
- import multiprocessing
- import os
- import time
- import logging
- from crunchy.conf import LOG_FORMAT, DAEMON_LOG_LEVEL
- def setup_logger(loglevel=DAEMON_LOG_LEVEL, logfile=None, format=LOG_FORMAT):
- """Setup the ``multiprocessing`` logger. If ``logfile`` is not specified,
- ``stderr`` is used.
-
- Returns logger object.
- """
- logger = multiprocessing.get_logger()
- if logfile:
- log_file_handler = logging.FileHandler(logfile)
- formatter = logging.Formatter(format)
- log_file_handler.setFormatter(formatter)
- logger.addHandler(log_file_handler)
- else:
- multiprocessing.log_to_stderr()
- logger.setLevel(loglevel)
- return logger
- def emergency_error(logfile, message):
- logfh = open(logfile, "a")
- logfh.write("[%(asctime)s: FATAL/%(pid)d]: %(message)s\n" % {
- "asctime": time.asctime(),
- "pid": os.getpid(),
- "message": message})
- logfh.close()
|