⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.112
Server IP:
65.21.180.239
Server:
Linux gowhm.eplangoweb.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.0.30
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
python3
/
dist-packages
/
uaclient
/
Edit File: log.py
import json import logging import os from collections import OrderedDict from typing import Any, Dict, List # noqa: F401 from uaclient import defaults, system, util class RedactionFilter(logging.Filter): """A logging filter to redact confidential info""" def filter(self, record: logging.LogRecord): record.msg = util.redact_sensitive_logs(str(record.msg)) return True class JsonArrayFormatter(logging.Formatter): """Json Array Formatter for our logging mechanism Custom made for Pro logging needs """ default_time_format = "%Y-%m-%dT%H:%M:%S" default_msec_format = "%s.%03d" required_fields = ( "asctime", "levelname", "name", "funcName", "lineno", "message", ) def format(self, record: logging.LogRecord) -> str: record.message = record.getMessage() record.asctime = self.formatTime(record) extra_message_dict = {} # type: Dict[str, Any] if record.exc_info: extra_message_dict["exc_info"] = self.formatException( record.exc_info ) if not extra_message_dict.get("exc_info") and record.exc_text: extra_message_dict["exc_info"] = record.exc_text if record.stack_info: extra_message_dict["stack_info"] = self.formatStack( record.stack_info ) extra = record.__dict__.get("extra") if extra and isinstance(extra, dict): extra_message_dict.update(extra) # is ordered to maintain order of fields in log output local_log_record = OrderedDict() # type: Dict[str, Any] # update the required fields in the order stated for field in self.required_fields: value = record.__dict__.get(field) local_log_record[field] = value local_log_record["extra"] = extra_message_dict return json.dumps(list(local_log_record.values())) def get_user_log_file() -> str: """Gets the correct user log_file storage location""" return system.get_user_cache_dir() + "/ubuntu-pro.log" def get_all_user_log_files() -> List[str]: """Gets all the log files for the users in the system Returns a list of all user log files in their home directories. """ user_directories = os.listdir("/home") log_files = [] for user_directory in user_directories: user_path = ( "/home/" + user_directory + "/.cache/" + defaults.USER_CACHE_SUBDIR + "/ubuntu-pro.log" ) if os.path.isfile(user_path): log_files.append(user_path) return log_files
Simpan