def init_profile_logger(): """ Sets up the profiling logger, if it hasn't already been set up. """ global _profile_log enabled = getattr(settings, 'LOGGING_ENABLED', False) log_directory = getattr(settings, 'LOGGING_DIRECTORY', None) log_name = getattr(settings, 'LOGGING_NAME', None) if (enabled and log_directory and log_name and not _profile_log and getattr(settings, "LOGGING_ALLOW_PROFILING", False)): filename = os.path.join(log_directory, log_name + ".prof") if sys.platform == 'win32': handler = logging.FileHandler(filename) else: handler = WatchedFileHandler(filename) handler.setLevel(logging.INFO) handler.setFormatter(logging.Formatter("%(asctime)s %(message)s")) _profile_log = logging.getLogger("profile") _profile_log.addHandler(handler)
def init_logging(): """ Sets up the main loggers, if they haven't already been set up. """ global _logging_setup if _logging_setup: return enabled = getattr(settings, 'LOGGING_ENABLED', False) log_directory = getattr(settings, 'LOGGING_DIRECTORY', None) log_name = getattr(settings, 'LOGGING_NAME', None) if not enabled or not log_directory or not log_name: return log_level_name = getattr(settings, 'LOGGING_LEVEL', DEFAULT_LOG_LEVEL) log_level = logging.getLevelName(log_level_name) format_str = getattr(settings, 'LOGGING_LINE_FORMAT', DEFAULT_LINE_FORMAT) log_path = os.path.join(log_directory, log_name + ".log") try: if sys.platform == 'win32': handler = logging.FileHandler(log_path) else: handler = WatchedFileHandler(log_path) handler.setLevel(log_level) handler.setFormatter(logging.Formatter(format_str)) root = logging.getLogger('') root.addHandler(handler) root.setLevel(log_level) except IOError: logging.basicConfig( level=log_level, format=format_str, ) logging.warning("Could not open logfile %s. Logging to stderr", log_path) if settings.DEBUG: # In DEBUG mode, log to the console as well. console_log = logging.StreamHandler() console_log.setLevel(log_level) console_log.setFormatter(logging.Formatter(format_str)) logging.getLogger('').addHandler(console_log) logging.info("Logging to %s with a minimum level of %s", log_path, log_level_name) _logging_setup = True
def initLogger(aLoggerName, aLogFileName, anAppName, aLogLevelStr): """ Initialize logger """ myLogger = logging.getLogger(aLoggerName) if sys.platform == 'win32': myHandler = logging.FileHandler(aLogFileName) else: try: from logging import WatchedFileHandler except ImportError: from .logger_compatibility import WatchedFileHandler myHandler = WatchedFileHandler(aLogFileName) myHandler.setFormatter(logging.Formatter('%(asctime)s <' + str(os.getpid()) + '> [%(levelname)s] %(module)s.%(funcName)s: %(message)s')) myLogger.addHandler(myHandler) myLogLevelStr = _parseLogLevel(aLogLevelStr) myLogger.setLevel(myLogLevelStr) myLogger.info('******************** %s. Logging Started ********************' % anAppName) return myLogger
def init_logging(): """ Sets up the main loggers, if they haven't already been set up. """ global _logging_setup if _logging_setup: return enabled = getattr(settings, 'LOGGING_ENABLED', False) log_directory = getattr(settings, 'LOGGING_DIRECTORY', None) log_name = getattr(settings, 'LOGGING_NAME', None) if not enabled or not log_directory or not log_name: return log_level_name = getattr(settings, 'LOGGING_LEVEL', DEFAULT_LOG_LEVEL) log_level = logging.getLevelName(log_level_name) request_format_str = getattr(settings, 'LOGGING_REQUEST_FORMAT', DEFAULT_REQUEST_FORMAT) format_str = getattr(settings, 'LOGGING_LINE_FORMAT', DEFAULT_LINE_FORMAT) log_path = os.path.join(log_directory, log_name + ".log") formatter = RequestLogFormatter(request_format_str, format_str) try: if sys.platform == 'win32': handler = logging.FileHandler(log_path) else: handler = WatchedFileHandler(log_path) handler.setLevel(log_level) handler.setFormatter(formatter) root.addHandler(handler) root.setLevel(log_level) except IOError: logging.basicConfig( level=log_level, format=format_str, ) logging.warning("Could not open logfile %s. Logging to stderr", log_path) if settings.DEBUG: # In DEBUG mode, log to the console as well. console_log = logging.StreamHandler() console_log.setLevel(log_level) console_log.setFormatter(formatter) root.addHandler(console_log) logging.debug("Logging to %s with a minimum level of %s", log_path, log_level_name) _logging_setup = True
def paste_text(): p = subprocess.Popen(["xsel", "-b", "-o"], stdout=subprocess.PIPE, close_fds=True) stdout, stderr = p.communicate() return stdout.decode("utf-8") app = Flask("httpclip") if os.environ.get("HTTPCLIP_SETTINGS"): app.config.from_envvar("HTTPCLIP_SETTINGS") if app.config.get("HTTPCLIP_LOGFILE", None): from logging import WatchedFileHandler app.logger.addHandler( WatchedFileHandler(app.config.get("HTTPCLIP_LOGFILE"), encoding="utf-8")) verbose_logging = app.config.get("HTTPCLIP_VERBOSELOGGING", False) @app.route("/", methods=("GET", )) def index(): response = make_response(render_template("index.html"), 200) response.headers["Content-type"] = "text/html" return response @app.route("/clipboard/get", methods=("GET", )) def clipboard_get(): text = paste_text() if verbose_logging: log_text = text