����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
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)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| backup_backends | Folder | 0755 |
|
|
| __init__.py | File | 135 B | 0644 |
|
| backup_backends_lib.py | File | 9.54 KB | 0644 |
|
| cli.py | File | 8.93 KB | 0644 |
|
| config.py | File | 347 B | 0644 |
|
| helpers.py | File | 7.52 KB | 0644 |
|
| log.py | File | 2.33 KB | 0644 |
|
| package_manager.py | File | 2.54 KB | 0644 |
|
| restore.py | File | 6.92 KB | 0644 |
|
| safe_fileops.py | File | 4.66 KB | 0644 |
|
| scan.py | File | 1.76 KB | 0644 |
|