| Server IP : 93.115.150.27 / Your IP : 216.73.216.221 Web Server : LiteSpeed System : Linux host2.azar.host 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64 User : dorfakkh ( 1797) PHP Version : 8.1.34 Disable Function : show_source, system, passthru, exec, popen, proc_open, mail MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/imunify360/venv/lib64/python3.11/site-packages/restore_infected/ |
Upload File : |
import logging.config
import os
from logging.handlers import WatchedFileHandler
LOG_FILE = '/var/log/cloudlinux-backup-utils.log'
DEBUG = 3
VERBOSE = 2
INFO = 1
CONCISE = 0
_format_concise = logging.Formatter('%(message)s')
_format_verbose = logging.Formatter(
'%(levelname)-7s [%(asctime)s] %(name)s: %(message)s'
)
_config = {
CONCISE: [_format_concise, logging.WARNING],
INFO: [_format_concise, logging.INFO],
VERBOSE: [_format_verbose, logging.INFO],
DEBUG: [_format_verbose, logging.DEBUG],
}
MAIN_LOGGER = 'restore_infected'
CLI_LOGGER = 'restore_infected.cli'
FILE_HANDLER = 'file'
CONSOLE_HANDLER = 'console'
HANDLERS = {}
stream_handler = logging.StreamHandler()
ALL_LOGGERS = [
MAIN_LOGGER,
CLI_LOGGER,
'AcronisClientInstaller',
'requests',
]
def clear_log_handlers():
for logger_name in ALL_LOGGERS:
logger = logging.getLogger(logger_name)
for handler in logger.handlers:
logger.removeHandler(handler)
def _add_log_handler(handler):
for logger_name in ALL_LOGGERS:
logger = logging.getLogger(logger_name)
logger.addHandler(handler)
def _remove_log_handler(handler):
for logger_name in ALL_LOGGERS:
logger = logging.getLogger(logger_name)
logger.removeHandler(handler)
def log_only_cli_module():
clear_log_handlers()
logger = logging.getLogger(CLI_LOGGER)
logger.setLevel(logging.DEBUG)
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(_format_concise)
logger.addHandler(stream_handler)
def log_to_file(output=LOG_FILE):
_remove_log_handler(HANDLERS.get(FILE_HANDLER, None))
if output:
if os.access(os.path.dirname(output), os.W_OK | os.X_OK):
file_handler = WatchedFileHandler(output, encoding='utf8')
else:
file_handler = logging.NullHandler()
set_config(file_handler, DEBUG)
HANDLERS[FILE_HANDLER] = file_handler
_add_log_handler(file_handler)
def log_to_console(verbosity):
_remove_log_handler(stream_handler)
if verbosity > CONCISE:
set_config(stream_handler, verbosity)
HANDLERS[CONSOLE_HANDLER] = stream_handler
_add_log_handler(stream_handler)
def set_config(handler, verbosity):
fmt, lvl = _config.get(verbosity, _config[CONCISE])
handler.setFormatter(fmt)
handler.setLevel(lvl)