def get_logger(logname, logtype='fc', level=logging.DEBUG, frmt=None, filename=''): """Create and return a logger with the given name. logtype f: file, c: console, fc: both """ logger = logging.getLogger(logname) logger.setLevel(level) frmt = frmt or logging.Formatter( '%(asctime)s - %(levelname)s - %(message)s') if 'f' in logtype: # if base_name = filename if filename else '%s-%s.log' % ( logname, strftime("%Y%m%d-%H%M%S")) log_filename = os.path.join(cm.BASE_FP_LOGS_FOLDER, base_name) fh = logging.FileHandler(log_filename) init_log_handler(fh, logger, logging.DEBUG, frmt) linkname = os.path.join(cm.BASE_FP_LOGS_FOLDER, 'latest') add_symlink(linkname, log_filename) if 'c' in logtype: ch = logging.StreamHandler() init_log_handler(ch, logger, logging.INFO, frmt) return logger
def test_add_symlink(self): test_link = self.new_temp_file('test_link') # symbolic link src_file = self.new_temp_file('linktest.txt') fu.write_to_file(src_file, "link test") fu.add_symlink(test_link, src_file) self.failUnless(os.path.lexists(test_link))
def create_job_folder(): """Prepare output folder.""" prep_run_folder() output_dir = os.path.join(cm.BASE_FP_JOBS_FOLDER, strftime("%Y%m%d-%H%M%S")) if os.path.isdir(output_dir): output_dir = os.path.join(cm.BASE_FP_JOBS_FOLDER, strftime("%Y%m%d-%H%M%S")) os.mkdir(output_dir) fu.add_symlink(os.path.join(cm.BASE_FP_JOBS_FOLDER, 'latest'), output_dir) return output_dir
def get_logger(logname, logtype='fc', level=logging.DEBUG, frmt=None, filename=''): """Create and return a logger with the given name. logtype f: file, c: console, fc: both """ logger = logging.getLogger(logname) logger.setLevel(level) frmt = frmt or logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') if 'f' in logtype: # if base_name = filename if filename else '%s-%s.log' % (logname, strftime("%Y%m%d-%H%M%S")) log_filename = os.path.join(cm.BASE_FP_LOGS_FOLDER, base_name) fh = logging.FileHandler(log_filename) init_log_handler(fh, logger, logging.DEBUG, frmt) linkname = os.path.join(cm.BASE_FP_LOGS_FOLDER, 'latest') add_symlink(linkname, log_filename) if 'c' in logtype: ch = logging.StreamHandler() init_log_handler(ch, logger, logging.INFO, frmt) return logger