Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > site-packages > lvestats > lib > commons
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
__init__.py | File | 219 bytes | May 30 2025 10:30:46. | |
argparse_utils.py | File | 11516 bytes | May 30 2025 10:30:46. | |
dateutil.py | File | 5738 bytes | May 30 2025 10:30:46. | |
decorators.py | File | 893 bytes | May 30 2025 10:30:46. | |
func.py | File | 16268 bytes | May 30 2025 10:30:46. | |
htpasswd.py | File | 2304 bytes | May 30 2025 10:30:46. | |
litespeed.py | File | 6833 bytes | May 30 2025 10:30:46. | |
logsetup.py | File | 4610 bytes | May 30 2025 10:30:46. | |
proctitle.py | File | 2966 bytes | May 30 2025 10:30:46. | |
profiler.py | File | 575 bytes | May 30 2025 10:30:46. | |
progress.py | File | 1016 bytes | May 30 2025 10:30:46. | |
sentry.py | File | 6313 bytes | May 30 2025 10:30:46. | |
server_status.py | File | 1346 bytes | May 30 2025 10:30:46. | |
sizeutil.py | File | 2653 bytes | May 30 2025 10:30:46. | |
users_manager.py | File | 3042 bytes | May 30 2025 10:30:46. |
# coding=utf-8 # # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT import logging import os from logging.handlers import SysLogHandler from raven import breadcrumbs from raven.handlers.logging import SentryHandler from lvestats.lib.commons.sentry import LveStatsSentryFilter, init_sentry_client LOGGING_LEVELS = { "debug": logging.DEBUG, "info": logging.INFO, "warning": logging.WARNING, "error": logging.ERROR, "critical": logging.CRITICAL } CONSOLE_LOG = None SYS_LOG = None FILE_LOG = None SENTRY_LOG = None # type: SentryHandler def setup_logging(config, caller_name="lvestats", console_level=logging.ERROR, file_level=None): """ Sets up logging :param dict|None config: pass None if config wasn't initialized yet, then don't use it. :param str caller_name: :param console_level: :param file_level: :return logging.Logger: log, initialized """ logging.root.setLevel(logging.DEBUG) init_console_log(console_level) init_syslog() init_file_log(get_file_logging_level(config, file_level)) init_sentry_handler(config) return logging.getLogger(caller_name) def init_syslog(): try: global SYS_LOG if SYS_LOG is None: SYS_LOG = SysLogHandler(address='/dev/log', facility=SysLogHandler.LOG_DAEMON) logging.root.addHandler(SYS_LOG) formatter_sys = logging.Formatter(fmt='lve-stats: (%(name)s) [%(levelname)s] %(message)s') SYS_LOG.setFormatter(formatter_sys) # write in system log only ERROR-s and FATALLERROR-s SYS_LOG.setLevel(logging.ERROR) except Exception: pass def init_file_log(file_level): log_file_name = '/var/log/lve-stats.log' try: global FILE_LOG if FILE_LOG is None: if not os.path.lexists(log_file_name): umask_saved = os.umask(0o77) with open(log_file_name, 'w', encoding='utf-8'): pass os.umask(umask_saved) os.chmod(log_file_name, 0o600) FILE_LOG = logging.FileHandler(log_file_name) logging.root.addHandler(FILE_LOG) formatter = logging.Formatter(fmt='%(asctime)s: (%(name)s) [%(levelname)s] %(message)s') FILE_LOG.setFormatter(formatter) FILE_LOG.setLevel(file_level) except Exception: pass def init_sentry_handler(config): """ :param dict config: """ try: global SENTRY_LOG if SENTRY_LOG is None: for logger_name in ["sqlalchemy.pool.NullPool", 'main_loop.plugin_executor', 'sqlalchemy.orm.mapper.Mapper']: breadcrumbs.ignore_logger(logger_name, allow_level=logging.WARNING) client = init_sentry_client() # client.processors SENTRY_LOG = SentryHandler(client) sentry_filter = LveStatsSentryFilter() SENTRY_LOG.addFilter(sentry_filter) client.uncaught_logger.addFilter(sentry_filter) logging.root.addHandler(SENTRY_LOG) SENTRY_LOG.setLevel(logging.ERROR) if SENTRY_LOG and config and "db_type" not in SENTRY_LOG.client.tags: SENTRY_LOG.client.tags["db_type"] = config.get("db_type", "None") SENTRY_LOG.client.tags["server_id"] = config.get("server_id", "None") except Exception: pass def get_file_logging_level(config, file_level): if file_level is None: if config: logging_level = config.get("logging_level", "info").lower() if logging_level and logging_level not in LOGGING_LEVELS: logging.warning( "Unknown log level: %s. File logging level is set to %s", logging_level, file_level, ) file_level = logging.INFO else: file_level = LOGGING_LEVELS.get(logging_level, logging.INFO) else: file_level = logging.CRITICAL return file_level def init_console_log(console_level): global CONSOLE_LOG if CONSOLE_LOG is None: CONSOLE_LOG = logging.StreamHandler() logging.root.addHandler(CONSOLE_LOG) formatter_console = logging.Formatter(fmt='%(levelname)s : (%(name)s) %(message)s') CONSOLE_LOG.setFormatter(formatter_console) CONSOLE_LOG.setLevel(console_level)
SILENT KILLER Tool