def set_debug(dest): """ Set the level to debug of all registered loggers, and replace their handlers. if debug_level is file, syncdaemon-debug.log is used. If it's stdout, all the logging is redirected to stdout. If it's stderr, to stderr. @param dest: a string with a one or more of 'file', 'stdout', and 'stderr' e.g. 'file stdout' """ if not [v for v in ['file', 'stdout', 'stderr'] if v in dest]: # invalid dest value, let the loggers alone return sd_filter = MultiFilter(['ubuntuone.SyncDaemon', 'twisted', 'pyinotify']) if 'file' in dest: # setup the existing loggers in debug root_handler.setLevel(_DEBUG_LOG_LEVEL) logfile = os.path.join(ubuntuone_log_dir, 'syncdaemon-debug.log') root_handler.baseFilename = os.path.abspath(logfile) # don't cap the file size set_max_bytes(0) for name in ['ubuntuone.SyncDaemon', 'twisted']: logger = logging.getLogger(name) logger.setLevel(_DEBUG_LOG_LEVEL) if 'stderr' in dest: stderr_handler = logging.StreamHandler() stderr_handler.setFormatter(basic_formatter) stderr_handler.setLevel(_DEBUG_LOG_LEVEL) stderr_handler.addFilter(sd_filter) logger.addHandler(stderr_handler) if 'stdout' in dest: stdout_handler = logging.StreamHandler(sys.stdout) stdout_handler.setFormatter(basic_formatter) stdout_handler.setLevel(_DEBUG_LOG_LEVEL) stdout_handler.addFilter(sd_filter) logger.addHandler(stdout_handler)
def set_server_debug(dest): """ Set the level to debug of all registered loggers, and replace their handlers. if debug_level is file, syncdaemon-debug.log is used. If it's stdout, all the logging is redirected to stdout. @param dest: a string containing 'file' and/or 'stdout', e.g: 'file stdout' """ logger = logging.getLogger("storage.server") logger.setLevel(5) # this shows server messages if 'file' in dest: filename = os.path.join(ubuntuone_log_dir, 'syncdaemon-debug.log') handler = DayRotatingFileHandler(filename=filename) handler.setFormatter(basic_formatter) handler.setLevel(5) # this shows server messages logger.addHandler(handler) if 'stdout' in dest: stdout_handler = logging.StreamHandler(sys.stdout) stdout_handler.setFormatter(basic_formatter) stdout_handler.setLevel(5) # this shows server messages logger.addHandler(stdout_handler) if 'stderrt' in dest: stdout_handler = logging.StreamHandler(sys.stdout) stdout_handler.setFormatter(basic_formatter) stdout_handler.setLevel(5) # this shows server messages logger.addHandler(stdout_handler)