Log Reference
Log Levels
In system monitoring and debugging, logs play a crucial role by recording sequential events or errors that occur within a system. The log levels provide a way to categorize these entries by their severity or importance, which can help in quickly identifying or escalating issues. Common log levels include:
- ERROR: Indicates a significant problem that caused a failure in some part of the system.
- WARN: Signals a potential issue that should be watched or could lead to an error if not addressed.
- INFO: Provides informational messages that highlight the progress of the application.
- DEBUG: Offers detailed diagnostic information used for debugging and understanding system behavior.
Log Code Series
Every BrowserMon log line carries a BM<code> identifier whose leading digit matches the log level:
| Series | Level |
|---|---|
| BM1xxx | INFO |
| BM2xxx | WARNING |
| BM3xxx | ERROR |
| BM4xxx | FATAL (CRITICAL) |
| BM9xxx | DEBUG |
The x000 code of each series (BM1000, BM2000, BM3000, BM4000, BM9000) is reserved as the default for messages that were logged without an explicit code; assigned codes start at x001.
The table below is auto-generated by tools/gen_log_reference.py — do not edit it by hand. Run python tools/gen_log_reference.py to regenerate it, or python tools/gen_log_reference.py --check to validate the codes and verify the table is current.
Browsermon Log Messages
| Log ID | Level | Module | Message |
|---|---|---|---|
| BM1001 | INFO | browser_monitor/BrowserMonitor.py | BrowserMonitor initializing |
| BM1002 | INFO | browser_monitor/BrowserMonitor.py | Created processor for {browser} |
| BM1003 | INFO | browser_monitor/BrowserMonitor.py | Created extension processor for {browser} |
| BM1004 | INFO | browser_monitor/BrowserMonitor.py | Browser monitoring service started successfully |
| BM1005 | INFO | browser_monitor/BrowserMonitor.py | Stopping browser monitoring service |
| BM1006 | INFO | browser_monitor/BrowserMonitor.py | Browser monitoring service stopped |
| BM1007 | INFO | browser_monitor/BrowserMonitor.py | Starting browser monitoring |
| BM1008 | INFO | browser_monitor/BrowserMonitor.py | Status: {self.get_status()} |
| BM1009 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/ChromiumMultiUserAdapter.py | Incremental run: fetching data newer than {since_timestamp} |
| BM1010 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/ChromiumMultiUserAdapter.py | First run for profile {profile.name}: fetching ALL history data |
| BM1011 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/ChromiumMultiUserAdapter.py | First run: Retrieved {len(results)} total history entries for profile {profile.name} |
| BM1012 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/ChromiumMultiUserAdapter.py | Incremental: Retrieved {len(results)} new entries for profile {profile.name} |
| BM1013 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserFirefoxAdapter.py | Firefox incremental run: fetching data newer than {since_timestamp} |
| BM1014 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserFirefoxAdapter.py | Firefox first run for profile {profile.name}: fetching ALL history data |
| BM1015 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserFirefoxAdapter.py | Firefox first run: Retrieved {len(results)} total history entries |
| BM1016 | INFO | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserFirefoxAdapter.py | Firefox incremental: Retrieved {len(results)} new entries |
| BM1017 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Scanning Chrome extensions for user {user.username} in {extensions_path} |
| BM1018 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Scanning Chrome extensions in {extensions_path} |
| BM1019 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Found Chrome extension: {extension_name} (ID: {extension_id}) |
| BM1020 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Scanning Firefox add-ons for user {user.username} in {extensions_path} |
| BM1021 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Scanning Firefox add-ons in {extensions_path} |
| BM1022 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Found Firefox add-on for user {user.username}: {extension_name} (ID: {addon_id}) |
| BM1023 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Found Firefox add-on (XPI) for user {user.username}: {extension_name} (ID: {addon_id}) |
| BM1024 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Found Firefox add-on (XPI): {extension_name} (ID: {addon_id}) |
| BM1025 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MutliUserEdgeExtensionAdapter.py | Scanning Edge extensions for user {user.username} in {extensions_path} |
| BM1026 | INFO | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MutliUserEdgeExtensionAdapter.py | Scanning Edge extensions in {extensions_path} |
| BM1027 | INFO | browser_monitor/src/core/processors/BrowserProcessor.py | Loaded {len(entries)} entries for profile {profile.name} (after SQL filtering) |
| BM1028 | INFO | browser_monitor/src/core/processors/BrowserProcessor.py | No new entries to process for profile {profile.name} |
| BM1029 | INFO | browser_monitor/src/core/processors/BrowserProcessor.py | Processing {len(new_entries)} new entries for profile {profile.name} |
| BM1030 | INFO | browser_monitor/src/core/processors/BrowserProcessor.py | Completed processing {browser_name}: {len(all_entries)} entries from {len(profiles)} profiles in {duration:.2f}s |
| BM1031 | INFO | browser_monitor/src/events/prometheus_subscriber.py | Prometheus metrics server started on port {self.port} |
| BM1032 | INFO | browser_monitor/src/events/prometheus_subscriber.py | Metrics available at http://localhost:{self.port}/metrics |
| BM1033 | INFO | browser_monitor/src/events/prometheus_subscriber.py | Prometheus metrics subscriber shutting down |
| BM1034 | INFO | browser_monitor/src/events/publisher.py | EventPublisher shutdown complete |
| BM1035 | INFO | browser_monitor/src/events/publisher.py | Kafka publisher initialized: server={kafka_server}, topic={topic} |
| BM1036 | INFO | browser_monitor/src/events/publisher.py | Published {success_count} entries to Kafka (failed: {failed_count}) |
| BM1037 | INFO | browser_monitor/src/events/publisher.py | Kafka publisher closed: {self.published_count} messages published, {self.failed_count} failed |
| BM1038 | INFO | browser_monitor/src/events/subscribers.py | Started processing {event.data['browser']} browser with {event.data['profile_count']} profiles |
| BM1039 | INFO | browser_monitor/src/events/subscribers.py | Completed processing {data['browser']} - {data['entries_processed']} entries, {data['profiles_processed']} profiles in {data['duration_seconds']:.2f}s |
| BM1040 | INFO | browser_monitor/src/events/subscribers.py | Kafka subscriber initialized for topic '{topic}' |
| BM1041 | INFO | browser_monitor/src/events/subscribers.py | {browser} progress: {progress['processed_profiles']}/{progress['total_profiles']} profiles ({percentage:.1f}%) - {progress['total_entries']} entries |
| BM1042 | INFO | browser_monitor/src/events/subscribers.py | {browser} completed: {progress['processed_profiles']} profiles, {progress['total_entries']} entries in {duration:.2f}s |
| BM1043 | INFO | browser_monitor/src/factories/processor_factory.py | Created shared classification cache manager: max_size={config.classification.cache_max_size}, ttl={config.classification.cache_ttl}s |
| BM1044 | INFO | browser_monitor/src/strategies/caching.py | Detected old Edge cache format, migrating to new format |
| BM1045 | INFO | browser_monitor/src/strategies/caching.py | Migrated Edge cache entry: {username}/{profile_name} -> timestamp {last_visit_time} |
| BM1046 | INFO | browser_monitor/src/strategies/caching.py | Cleaned up {cleaned_count} old cache entries |
| BM1047 | INFO | browser_monitor/src/strategies/caching.py | Synchronized {synced_count} profiles from file cache to memory cache |
| BM1048 | INFO | config/provider/ConfigProvider.py | [ConfigProvider] -- loaded fileConf: {json.dumps(fileConf, indent=LOG_INDENT)} |
| BM1049 | INFO | config/provider/ConfigProvider.py | [ConfigProvider] -- loaded watchdogConf: {json.dumps(watchdogConf, indent=LOG_INDENT)} |
| BM1050 | INFO | config/provider/ConfigProvider.py | [ConfigProvider] -- loaded default_conf: {json.dumps(defaultConf, indent=LOG_INDENT)} |
| BM1051 | INFO | config/provider/ConfigProvider.py | [ConfigProvider] Merging configurations from default, watchdog, and file sources ... |
| BM1052 | INFO | config/provider/ConfigProvider.py | [ConfigProvider] -- Merged config: {json.dumps(config, indent=LOG_INDENT)} |
| BM1053 | INFO | config/strategies/DefaultConfigStrategy.py | [DefaultConfigStrategy] Starting to load configurations ... |
| BM1054 | INFO | config/strategies/ElasticConfigStrategy.py | [ElasticConfigStrategy] Starting to load configurations ... |
| BM1055 | INFO | config/strategies/FileConfigStrategy.py | [FileConfigStrategy] Starting to load configurations ... |
| BM1056 | INFO | config/strategies/ServerConfigStrategy.py | [ServerConfigStrategy] Starting to load configurations ... |
| BM1057 | INFO | config/strategies/WatchdogConfigStrategy.py | [WatchdogConfigStrategy] Received configurations are empty. Skipping update. |
| BM1058 | INFO | config/strategies/WatchdogConfigStrategy.py | [WatchdogConfigStrategy] Starting to load configurations ... |
| BM1059 | INFO | controller.py | Controller interrupted: {e} |
| BM1060 | INFO | controller.py | Browsermon Started in {BROWSERMON_ENV} mode, version: {VERSION} |
| BM1061 | INFO | controller.py | Running From: {BROWSERMON_DIR} |
| BM1062 | INFO | controller.py | Main process id: {os.getpid()} |
| BM1063 | INFO | controller.py | System UUID: {self.controller_guid} |
| BM1064 | INFO | controller.py | State machine completed |
| BM1065 | INFO | health_check/server_observer.py | Cannot make connection to WatchDog after multiple tries |
| BM1066 | INFO | managers/component_lifecycle_manager.py | BrowserMonitor initialized successfully |
| BM1067 | INFO | managers/component_lifecycle_manager.py | Handler initialized successfully |
| BM1068 | INFO | managers/component_lifecycle_manager.py | Restarting browser monitor |
| BM1069 | INFO | managers/component_lifecycle_manager.py | Browser monitor restarted successfully |
| BM1069 | INFO | managers/health_manager.py | Browser monitor restarted successfully |
| BM1070 | INFO | managers/component_lifecycle_manager.py | Browser monitor stopped |
| BM1071 | INFO | managers/component_lifecycle_manager.py | Cleaning up all components... |
| BM1072 | INFO | managers/component_lifecycle_manager.py | All components cleaned up |
| BM1073 | INFO | managers/config_converter.py | Successfully converted controller configuration to BrowserMonitor configuration |
| BM1074 | INFO | managers/configuration_manager.py | Loaded server conf: {server_conf} |
| BM1075 | INFO | managers/configuration_manager.py | Loaded elastic conf: {self.es_conf} |
| BM1076 | INFO | managers/health_manager.py | Startup watchdog check passed on attempt {attempt}/{max_attempts} |
| BM1077 | INFO | managers/health_manager.py | Attempting to restart browser monitor (attempt {self.relaunch_count + 1}) |
| BM1078 | INFO | managers/log_rotation_manager.py | History files already rotated (marker file present); skipping |
| BM1079 | INFO | readers/chrome_reader.py | Sniffing user profiles from Windows |
| BM1080 | INFO | readers/chrome_reader.py | Sniffing user profiles from Linux |
| BM1081 | INFO | readers/chrome_reader.py | Found extensions folder: {extensions_path} |
| BM1081 | INFO | readers/edge_reader.py | Found extensions folder: {extensions_path} |
| BM1082 | INFO | readers/chrome_reader.py | Checking extensions for Chrome in {extensions_dir} |
| BM1083 | INFO | readers/chrome_reader.py | Chrome Extension: (User: {username}): {name} (ID: {ext_id}) |
| BM1084 | INFO | readers/chrome_reader.py | Extension data saved to {output_path} |
| BM1084 | INFO | readers/edge_reader.py | Extension data saved to {output_path} |
| BM1085 | INFO | readers/chrome_reader.py | Sniffing Chrome profiles |
| BM1086 | INFO | readers/chrome_reader.py | Sniffing user profiles from {get_os_username} |
| BM1087 | INFO | readers/chrome_reader.py | Profile found for {get_os_username} at {profile_info['Profile Link']} |
| BM1088 | INFO | readers/chrome_reader.py | No user profiles found in {get_os_username}, exiting |
| BM1089 | INFO | readers/chrome_reader.py | Profile found for {get_os_username} at {folder_path} |
| BM1090 | INFO | readers/chrome_reader.py | Chrome profiles data written to JSON file |
| BM1091 | INFO | readers/chrome_reader.py | Reading history data from {db_path} |
| BM1091 | INFO | readers/firefox_reader.py | Reading history data from {db_path} |
| BM1092 | INFO | readers/chrome_reader.py | Found {num_new_records} new records for profile '{profile}' |
| BM1092 | INFO | readers/firefox_reader.py | Found {num_new_records} new records for profile '{profile}' |
| BM1093 | INFO | readers/chrome_reader.py | Writing logs to {write_file} in {write_format} |
| BM1093 | INFO | readers/firefox_reader.py | Writing logs to {write_file} in {write_format} |
| BM1094 | INFO | readers/chrome_reader.py | Writing logs to browsermon_chrome.log in {write_format} |
| BM1095 | INFO | readers/chrome_reader.py | No Data found for Writing: |
| BM1095 | INFO | readers/firefox_reader.py | No Data found for Writing: |
| BM1096 | INFO | readers/chrome_reader.py | Processing Chrome history |
| BM1097 | INFO | readers/chrome_reader.py | Gracefully Exiting Writing funtion after reading all profiles |
| BM1097 | INFO | readers/firefox_reader.py | Gracefully Exiting Writing funtion after reading all profiles |
| BM1098 | INFO | readers/chrome_reader.py | Starting Chrome Reader |
| BM1099 | INFO | readers/chrome_reader.py | Chrome Version: {get_chrome_version()} |
| BM1100 | INFO | readers/chrome_reader.py | Sqlite3 Version: {sqlite3.sqlite_version} |
| BM1100 | INFO | readers/edge_reader.py | Sqlite3 Version: {sqlite3.sqlite_version} |
| BM1100 | INFO | readers/firefox_reader.py | Sqlite3 Version: {sqlite3.sqlite_version} |
| BM1101 | INFO | readers/chrome_reader.py | Running on Windows. |
| BM1101 | INFO | readers/firefox_reader.py | Running on Windows. |
| BM1102 | INFO | readers/chrome_reader.py | Running on Linux. |
| BM1102 | INFO | readers/firefox_reader.py | Running on Linux. |
| BM1103 | INFO | readers/chrome_reader.py | Running with root privilege. |
| BM1103 | INFO | readers/firefox_reader.py | Running with root privilege. |
| BM1104 | INFO | readers/chrome_reader.py | Not running with root privilege. |
| BM1104 | INFO | readers/firefox_reader.py | Not running with root privilege. |
| BM1105 | INFO | readers/chrome_reader.py | Reader Started successfully in {mode} mode |
| BM1105 | INFO | readers/edge_reader.py | Reader Started successfully in {mode} mode |
| BM1105 | INFO | readers/firefox_reader.py | Reader Started successfully in {mode} mode |
| BM1106 | INFO | readers/chrome_reader.py | Validated parameters Successfully |
| BM1106 | INFO | readers/edge_reader.py | Validated parameters Successfully |
| BM1106 | INFO | readers/firefox_reader.py | Validated parameters Successfully |
| BM1107 | INFO | readers/chrome_reader.py | Exiting Chrome Reader; shutting down scheduler; releasing lock |
| BM1108 | INFO | readers/edge_reader.py | Microsoft Edge profile directory found for user: {username} |
| BM1109 | INFO | readers/edge_reader.py | Microsoft Edge profile directory found for user: {user} |
| BM1110 | INFO | readers/edge_reader.py | Checking extensions for Edge in {extensions_dir} |
| BM1111 | INFO | readers/edge_reader.py | Edge extension directory not found: {extensions_dir} |
| BM1112 | INFO | readers/edge_reader.py | Edge Extension: (User: {username}): {name} (ID: {ext_id}) |
| BM1113 | INFO | readers/edge_reader.py | History file for profile '{profile_name}' has not been modified, skipping SQL query. |
| BM1114 | INFO | readers/edge_reader.py | Connected to the SQLite database for profile '{profile_name}' |
| BM1115 | INFO | readers/edge_reader.py | Fetching records with batch size of {BATCH_SIZE} for profile '{profile_name}' |
| BM1116 | INFO | readers/edge_reader.py | Total number of records found till now for profile '{profile_name}' are {num_new_records} |
| BM1117 | INFO | readers/edge_reader.py | Processed browsing history for profile '{profile_name}' |
| BM1118 | INFO | readers/edge_reader.py | Number of CPU cores: {num_cpu_cores} |
| BM1119 | INFO | readers/edge_reader.py | Processed browsing history for all the profiles and users |
| BM1120 | INFO | readers/edge_reader.py | Received signal {signum}. Exiting gracefully... |
| BM1121 | INFO | readers/edge_reader.py | Starting Edge Reader |
| BM1122 | INFO | readers/edge_reader.py | Edge Version: {get_edge_version()} |
| BM1123 | INFO | readers/edge_reader.py | Exiting Edge Reader; shutting down scheduler; releasing lock |
| BM1124 | INFO | readers/firefox_reader.py | Running on SYSTEM: {SYSTEM} |
| BM1125 | INFO | readers/firefox_reader.py | Found {len(profile_folders)} profiles |
| BM1126 | INFO | readers/firefox_reader.py | Extracting user profiles from {get_os_username} |
| BM1127 | INFO | readers/firefox_reader.py | Profile found for {get_os_username} at {profile_info['Profile Link']} |
| BM1128 | INFO | readers/firefox_reader.py | Found Extension data at {extensions_json_path} |
| BM1129 | INFO | readers/firefox_reader.py | Firefox Extension (User: {profile_info['Profile Username']}): {name} (ID: {ext_id} |
| BM1130 | INFO | readers/firefox_reader.py | Extension data saved to {output_file} |
| BM1131 | INFO | readers/firefox_reader.py | Sniffing user profiles from {database_path} |
| BM1132 | INFO | readers/firefox_reader.py | No user profiles found in {get_os_username}mexiting |
| BM1133 | INFO | readers/firefox_reader.py | Writing logs to browsermon_firefox.log in {write_format} |
| BM1134 | INFO | readers/firefox_reader.py | Last Visit Time for {db_path}: {last_visit_time} |
| BM1135 | INFO | readers/firefox_reader.py | No New data Found while monitoring Profile {db_path}: |
| BM1136 | INFO | readers/firefox_reader.py | Processing Firefox History |
| BM1137 | INFO | readers/firefox_reader.py | Exiting the program. |
| BM1138 | INFO | readers/firefox_reader.py | Exiting the program Due to Unsupported OS. |
| BM1139 | INFO | readers/firefox_reader.py | Starting Firefox Reader |
| BM1140 | INFO | readers/firefox_reader.py | Firefox Version: {FixedData.get_firefox_version()} |
| BM1141 | INFO | readers/firefox_reader.py | Exiting Firefox Reader; shutting down scheduler; releasing lock |
| BM1142 | INFO | states/controller_states.py | Controller entering initialization state |
| BM1143 | INFO | states/controller_states.py | Controller entering running state |
| BM1144 | INFO | states/controller_states.py | Shutdown event detected |
| BM1145 | INFO | states/controller_states.py | Shutdown requested |
| BM1146 | INFO | states/controller_states.py | Configuration changed, reinitializing |
| BM1147 | INFO | states/controller_states.py | Components reinitialized successfully |
| BM1148 | INFO | states/controller_states.py | Controller entering stopping state |
| BM1149 | INFO | states/controller_states.py | Controller stopped successfully |
| BM1150 | INFO | utils/cache_manager/cache_manager.py | Cache Manager initialized with max entries: {max_entries} |
| BM1151 | INFO | utils/cache_manager/cache_manager.py | Cache size ({current_count}) exceeds limit ({self.max_entries}), starting cleanup |
| BM1152 | INFO | utils/cache_manager/cache_manager.py | Removed {removed_expired} expired and {removed_old} old entries. Current size: {len(self.shared_cache)} |
| BM1153 | INFO | utils/cache_manager/cache_manager.py | Removed {removed_expired} expired entries. Current size: {len(self.shared_cache)} |
| BM1154 | INFO | utils/caching.py | Cache file successfully read. |
| BM1155 | INFO | utils/caching.py | Cache file read and last visit times decrypted |
| BM1156 | INFO | utils/handlers.py | Rollover function called |
| BM1157 | INFO | utils/handlers.py | Backup count is set to 0, no rotation will be performed |
| BM1158 | INFO | utils/handlers.py | Initializing Handler for file rotation |
| BM1159 | INFO | utils/handlers.py | Scheduler information: |
| BM1160 | INFO | utils/handlers.py | Job ID: {job.id}, Next Run Time: {job.next_run_time} |
| BM1161 | INFO | utils/launcher.py | Launcher initialized with installed browsers. |
| BM1162 | INFO | utils/launcher.py | Launching {browser.upper()} reader |
| BM1163 | INFO | utils/launcher.py | Launched {browser.upper()} reader with PID: {process.pid} |
| BM1164 | INFO | utils/launcher.py | Acquiring lock for launch operation |
| BM1165 | INFO | utils/launcher.py | Stopping all readers and releasing lock... |
| BM1166 | INFO | utils/license/verify_license.py | Request to watchdog was successfull |
| BM1167 | INFO | utils/license/verify_license.py | Request failed, retyring in a few minutes |
| BM2001 | WARNING | browser_monitor/BrowserMonitor.py | Extension processor not available for {browser}: {e} |
| BM2002 | WARNING | browser_monitor/BrowserMonitor.py | No processors available for processing |
| BM2003 | WARNING | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Skipping inaccessible user directory: {user.username} |
| BM2004 | WARNING | browser_monitor/src/core/processors/BrowserProcessor.py | No entries to output for profile {profile.name} |
| BM2005 | WARNING | browser_monitor/src/events/publisher.py | kafka-python is not installed. Kafka publishing will be disabled. |
| BM2006 | WARNING | browser_monitor/src/events/publisher.py | Failed to initialize Kafka producer: {e}. Kafka publishing will be disabled, but file output will continue. |
| BM2007 | WARNING | browser_monitor/src/events/publisher.py | Kafka error publishing entry: {e} |
| BM2008 | WARNING | browser_monitor/src/events/publisher.py | Error publishing entry to Kafka: {e} |
| BM2009 | WARNING | browser_monitor/src/events/publisher.py | Error sending entry in batch: {e} |
| BM2010 | WARNING | browser_monitor/src/events/publisher.py | Error flushing Kafka producer: {e} |
| BM2011 | WARNING | browser_monitor/src/events/publisher.py | Error closing Kafka producer: {e} |
| BM2012 | WARNING | browser_monitor/src/events/subscribers.py | Failed to initialize Kafka subscriber: {e}. Events will not be published to Kafka. |
| BM2013 | WARNING | browser_monitor/src/events/subscribers.py | Failed to publish entry to Kafka: {e} |
| BM2014 | WARNING | browser_monitor/src/events/subscribers.py | Failed to flush Kafka messages: {e} |
| BM2015 | WARNING | browser_monitor/src/events/subscribers.py | Error closing Kafka subscriber: {e} |
| BM2016 | WARNING | browser_monitor/src/factories/cache_factory.py | Unknown cache type '{cache_type}', using file cache |
| BM2017 | WARNING | browser_monitor/src/factories/processor_factory.py | Failed to create Kafka publisher: {e}. File output will continue. |
| BM2018 | WARNING | controller.py | Performing emergency shutdown |
| BM2019 | WARNING | managers/component_lifecycle_manager.py | Browser monitor thread has died |
| BM2020 | WARNING | managers/component_lifecycle_manager.py | Browser monitor has no active processors |
| BM2021 | WARNING | managers/config_converter.py | Invalid time format: {time_str}, using default 3600s |
| BM2022 | WARNING | managers/health_manager.py | Startup watchdog check failed (attempt {attempt}/{max_attempts}): {status.name} |
| BM2023 | WARNING | managers/health_manager.py | Browser monitor is unhealthy |
| BM2024 | WARNING | readers/chrome_reader.py | Could not get creation time for {path}: {e} |
| BM2024 | WARNING | readers/edge_reader.py | Could not get creation time for {path}: {e} |
| BM2025 | WARNING | readers/chrome_reader.py | Could not get timestamp for {path}: {e} |
| BM2026 | WARNING | readers/chrome_reader.py | Chrome user data path does not exist: {chrome_user_data} |
| BM2027 | WARNING | readers/chrome_reader.py | Chrome extension directory not found: {extensions_dir} |
| BM2028 | WARNING | readers/chrome_reader.py | Failed to parse locale file for extension {ext_id}: {e} |
| BM2028 | WARNING | readers/edge_reader.py | Failed to parse locale file for extension {ext_id}: {e} |
| BM2029 | WARNING | readers/chrome_reader.py | Folder path {folder_path} does not exist |
| BM2030 | WARNING | readers/chrome_reader.py | ERROR Exception Found while writing Profies data to JSON file: {e} |
| BM2031 | WARNING | readers/chrome_reader.py | Invalid schedule window format. Please use the valid format (e.g., 1m, 1h, 1d) |
| BM2031 | WARNING | readers/firefox_reader.py | Invalid schedule window format. Please use the valid format (e.g., 1m, 1h, 1d) |
| BM2032 | WARNING | readers/chrome_reader.py | File {db_path} does not exist. |
| BM2033 | WARNING | readers/chrome_reader.py | Permission error while accessing {db_path}: {pe} |
| BM2034 | WARNING | readers/chrome_reader.py | Error while writing to file: {e} |
| BM2034 | WARNING | readers/firefox_reader.py | Error while writing to file: {e} |
| BM2035 | WARNING | readers/chrome_reader.py | Logdir {json_file} not found, creating new |
| BM2035 | WARNING | readers/firefox_reader.py | Logdir {json_file} not found, creating new |
| BM2036 | WARNING | readers/chrome_reader.py | Logdir {csv_file} not found, creating new |
| BM2036 | WARNING | readers/firefox_reader.py | Logdir {csv_file} not found, creating new |
| BM2037 | WARNING | readers/edge_reader.py | info_cache not found in profile data for user: {username} |
| BM2038 | WARNING | readers/edge_reader.py | Profile information not found in data for user: {username} |
| BM2039 | WARNING | readers/edge_reader.py | No Microsoft Edge profile directory for user: {username} |
| BM2040 | WARNING | readers/edge_reader.py | No Microsoft Edge profile directory for user: {user} |
| BM2041 | WARNING | readers/edge_reader.py | Extensions path does not exist: {extensions_path} |
| BM2042 | WARNING | readers/edge_reader.py | Could not get timestamp for {path} : {e} |
| BM2043 | WARNING | readers/edge_reader.py | Logdir {logdir} not found, creating new |
| BM2044 | WARNING | readers/firefox_reader.py | [WARN] Failed to read manifest from {xpi_path}: {e} |
| BM2045 | WARNING | readers/firefox_reader.py | Unsupported OS: {SYSTEM} |
| BM2046 | WARNING | readers/firefox_reader.py | No Firefox profiles found for {get_os_username}, skipping |
| BM2047 | WARNING | readers/firefox_reader.py | No user profiles found in {get_os_username}, exiting |
| BM2048 | WARNING | readers/firefox_reader.py | No Firefox profiles found |
| BM2049 | WARNING | readers/firefox_reader.py | No XPI file found for extension {ext_id} in {xpi_dir} |
| BM2050 | WARNING | readers/firefox_reader.py | [WARN] Failed to parse install date for {ext_id}: {e} |
| BM2051 | WARNING | readers/firefox_reader.py | No email ID found in prefs file at: {prefs_file_path} |
| BM2052 | WARNING | readers/firefox_reader.py | File Not found to Write profile links |
| BM2053 | WARNING | readers/firefox_reader.py | ERROR Exception Found while writing Profiles data to JSON file: {e} |
| BM2054 | WARNING | readers/firefox_reader.py | WARN Database to get history logs not found for {db_path} |
| BM2055 | WARNING | states/controller_states.py | Log rotation failed but continuing |
| BM2056 | WARNING | states/controller_states.py | BrowserMonitor is not healthy |
| BM2057 | WARNING | states/controller_states.py | Health checker stopped running |
| BM2058 | WARNING | strategies/configuration_strategies.py | ETI mode disabled due to invalid Elasticsearch configuration |
| BM2059 | WARNING | strategies/configuration_strategies.py | UCS mode disabled due to invalid Elasticsearch configuration |
| BM2060 | WARNING | strategies/configuration_strategies.py | Configuration corrected: {'; '.join(all_errors)} |
| BM2061 | WARNING | utils/caching.py | Cache file {cache_file} does not exist. |
| BM2062 | WARNING | utils/exceptions/config_exceptions.py | Configuration section '{e.section}' not found. |
| BM2063 | WARNING | utils/exceptions/config_exceptions.py | Option '{e.option}' not found in section '{e.section}'. |
| BM2064 | WARNING | utils/launcher.py | Failed to rename {old_name} to {new_name} |
| BM2065 | WARNING | utils/launcher.py | Unsupported browser: {browser} |
| BM2066 | WARNING | utils/launcher.py | Requested browser {browser} is not installed on the system. |
| BM2067 | WARNING | utils/sysinfo/systemUUID.py | get_system_uuid_win failed; could not retieve UUID |
| BM2068 | WARNING | utils/sysinfo/systemUUID.py | get_system_uuid_linux failed; could not retieve UUID |
| BM3001 | ERROR | browser_monitor/BrowserMonitor.py | Failed to create processor for {browser}: {e} |
| BM3002 | ERROR | browser_monitor/BrowserMonitor.py | No processors were created successfully |
| BM3003 | ERROR | browser_monitor/BrowserMonitor.py | Failed to start browser monitoring: {e} |
| BM3004 | ERROR | browser_monitor/BrowserMonitor.py | Error stopping browser monitoring: {e} |
| BM3005 | ERROR | browser_monitor/BrowserMonitor.py | Error discovering extensions for {browser}: {e} |
| BM3006 | ERROR | browser_monitor/BrowserMonitor.py | Error in _discover_extensions_once: {e} |
| BM3007 | ERROR | browser_monitor/BrowserMonitor.py | Error processing {browser}: {e} |
| BM3008 | ERROR | browser_monitor/BrowserMonitor.py | Error in _process_once: {e} |
| BM3009 | ERROR | browser_monitor/BrowserMonitor.py | Invalid schedule window format: {window} |
| BM3010 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/ChromiumMultiUserAdapter.py | Error processing {self._browser_config.name} history file {history_path}: {e} |
| BM3010 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/UserAdapters/ChromiumAdapter.py | Error processing {self._browser_config.name} history file {history_path}: {e} |
| BM3011 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Failed to discover users: {e} |
| BM3012 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Error getting profiles for user {user.username}: {e} |
| BM3012 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Error getting profiles for user {user.username}: {e} |
| BM3013 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Error getting history from profile {profile.name}: {e} |
| BM3014 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Could not determine user for profile {profile.name} at {profile.path} |
| BM3015 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Could not create browser instance for user {user.username} |
| BM3016 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Error getting history paths for profile {profile.name}: {e} |
| BM3017 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Error processing history file for profile {profile.name}: {e} |
| BM3018 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Error getting {self._browser_config.name} profiles for user {user.username}: {e} |
| BM3019 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Error getting {self._browser_config.name} profiles: {e} |
| BM3019 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/UserAdapters/ChromiumAdapter.py | Error getting {self._browser_config.name} profiles: {e} |
| BM3020 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserFirefoxAdapter.py | Error processing Firefox history file {history_path}: {e} |
| BM3020 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/UserAdapters/FirefoxAdapter.py | Error processing Firefox history file {history_path}: {e} |
| BM3021 | ERROR | browser_monitor/src/core/adapters/BrowserAdapters/UserAdapters/FirefoxAdapter.py | Error getting Firefox profiles: {e} |
| BM3022 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Error scanning Chrome extensions directory {extensions_path} for user {user.username}: {e} |
| BM3023 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Error scanning Chrome extensions directory {extensions_path}: {e} |
| BM3024 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Error processing Chrome extension {extension_id} for user {user.username}: {e} |
| BM3025 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Error processing Chrome extension {extension_id}: {e} |
| BM3026 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Error discovering extensions for user {user.username}: {e} |
| BM3027 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Failed to discover users for extensions: {e} |
| BM3028 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Error discovering extensions for profile {profile.name} (user: {user.username}): {e} |
| BM3029 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Error discovering extensions for current user: {e} |
| BM3030 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Error getting original {self.browser_key} profiles: {e} |
| BM3031 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Error discovering extensions for profile {profile.name}: {e} |
| BM3032 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Error scanning Firefox extensions directory {extensions_path} for user {user.username}: {e} |
| BM3033 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Error scanning Firefox extensions directory {extensions_path}: {e} |
| BM3034 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Error processing Firefox addon directory {addon_dir} for user {user.username}: {e} |
| BM3035 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Error processing Firefox addon directory {addon_dir}: {e} |
| BM3036 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Error processing Firefox XPI addon {xpi_path} for user {user.username}: {e} |
| BM3037 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Error processing Firefox XPI addon {xpi_path}: {e} |
| BM3038 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MutliUserEdgeExtensionAdapter.py | Error scanning Edge extensions directory {extensions_path} for user {user.username}: {e} |
| BM3039 | ERROR | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MutliUserEdgeExtensionAdapter.py | Error scanning Edge extensions directory {extensions_path}: {e} |
| BM3040 | ERROR | browser_monitor/src/core/processors/BrowserProcessor.py | Error classifying entries for profile {profile.name}: {e} |
| BM3041 | ERROR | browser_monitor/src/core/processors/BrowserProcessor.py | error_msg |
| BM3042 | ERROR | browser_monitor/src/core/processors/BrowserProcessor.py | Fatal error in processing {browser_name}: {e} |
| BM3043 | ERROR | browser_monitor/src/core/processors/ExtensionProcessor.py | Error in extension discovery: {e} |
| BM3044 | ERROR | browser_monitor/src/events/prometheus_subscriber.py | Error monitoring resources: {e} |
| BM3045 | ERROR | browser_monitor/src/events/prometheus_subscriber.py | Failed to start Prometheus HTTP server: {e} |
| BM3046 | ERROR | browser_monitor/src/events/prometheus_subscriber.py | Error handling Prometheus metric update: {e} |
| BM3047 | ERROR | browser_monitor/src/events/publisher.py | Error in event subscriber {subscriber.class.name}: {e} |
| BM3048 | ERROR | browser_monitor/src/events/subscribers.py | Failed to process {event.data['browser']}: {event.data['error']} |
| BM3049 | ERROR | browser_monitor/src/events/subscribers.py | Error [{event.data['error_type']}]: {event.data['error_message']} |
| BM3050 | ERROR | browser_monitor/src/events/subscribers.py | Failed to write event to file {self.output_file}: {e} |
| BM3051 | ERROR | browser_monitor/src/strategies/caching.py | Error loading {browser} cache: {e} |
| BM3052 | ERROR | browser_monitor/src/strategies/caching.py | Error during Edge cache migration: {e} |
| BM3053 | ERROR | browser_monitor/src/strategies/caching.py | Error saving {browser} cache: {e} |
| BM3054 | ERROR | browser_monitor/src/strategies/caching.py | Error updating memory cache for profile {profile.name}: {e} |
| BM3055 | ERROR | browser_monitor/src/strategies/caching.py | Error updating file cache for profile {profile.name}: {e} |
| BM3056 | ERROR | browser_monitor/src/strategies/caching.py | Error cleaning memory cache: {e} |
| BM3057 | ERROR | browser_monitor/src/strategies/caching.py | Error cleaning file cache: {e} |
| BM3058 | ERROR | browser_monitor/src/strategies/caching.py | Error during cache synchronization: {e} |
| BM3059 | ERROR | browser_monitor/src/utils/common.py | Elasticsearch : {e} |
| BM3059 | ERROR | utils/common.py | Elasticsearch : {e} |
| BM3060 | ERROR | config/provider/ConfigProvider.py | [ConfigProvider] -- Missing or invalid value for required config key: {key} |
| BM3061 | ERROR | config/strategies/DefaultConfigStrategy.py | [DefaultConfigStrategy] Configuration validation failed: {e} |
| BM3062 | ERROR | config/strategies/DefaultConfigStrategy.py | [DefaultConfigStrategy] Could not load configuration successfully |
| BM3063 | ERROR | config/strategies/ElasticConfigStrategy.py | [ElasticConfigStrategy] Configuration validation failed: {e} |
| BM3064 | ERROR | config/strategies/ElasticConfigStrategy.py | [ElasticConfigStrategy] Could not load configuration: {e} |
| BM3065 | ERROR | config/strategies/FileConfigStrategy.py | [WatchdogConfigStrategy] Configuration validation failed: {e} |
| BM3065 | ERROR | config/strategies/WatchdogConfigStrategy.py | [WatchdogConfigStrategy] Configuration validation failed: {e} |
| BM3066 | ERROR | config/strategies/FileConfigStrategy.py | [WatchdogConfigStrategy] Could not load configuration successfully |
| BM3066 | ERROR | config/strategies/WatchdogConfigStrategy.py | [WatchdogConfigStrategy] Could not load configuration successfully |
| BM3067 | ERROR | config/strategies/ServerConfigStrategy.py | [ServerConfigStrategy] Configuration validation failed: {e} |
| BM3068 | ERROR | config/strategies/ServerConfigStrategy.py | [ServerConfigStrategy] Could not load configuration successfully |
| BM3069 | ERROR | controller.py | State machine error: {e} |
| BM3070 | ERROR | controller.py | Error during emergency shutdown: {e} |
| BM3071 | ERROR | health_check/server_observer.py | BrowserMon will now exit... |
| BM3072 | ERROR | managers/component_lifecycle_manager.py | Failed to start BrowserMonitor |
| BM3073 | ERROR | managers/component_lifecycle_manager.py | BrowserMonitor initialization failed: {e} |
| BM3074 | ERROR | managers/component_lifecycle_manager.py | Cannot initialize handler without browser monitor |
| BM3075 | ERROR | managers/component_lifecycle_manager.py | Missing required options for handler: {required_keys} |
| BM3076 | ERROR | managers/component_lifecycle_manager.py | Failed to initialize handler: {e} |
| BM3077 | ERROR | managers/component_lifecycle_manager.py | Error checking browser monitor health: {e} |
| BM3077 | ERROR | managers/health_manager.py | Error checking browser monitor health: {e} |
| BM3078 | ERROR | managers/component_lifecycle_manager.py | Browser monitor failed during restart: {e} |
| BM3079 | ERROR | managers/component_lifecycle_manager.py | Failed to restart browser monitor: {e} |
| BM3080 | ERROR | managers/component_lifecycle_manager.py | Error stopping browser monitor: {e} |
| BM3081 | ERROR | managers/config_converter.py | Failed to convert configuration: {e} |
| BM3082 | ERROR | managers/configuration_manager.py | Failed to load configurations: {e} |
| BM3083 | ERROR | managers/health_manager.py | Failed to initialize health checker: {e} |
| BM3084 | ERROR | managers/health_manager.py | Health checker not initialized |
| BM3085 | ERROR | managers/health_manager.py | Failed to start health monitoring: {e} |
| BM3086 | ERROR | managers/health_manager.py | Watchdog unreachable after startup attempts — BrowserMon cannot start |
| BM3087 | ERROR | managers/health_manager.py | Failed to restart browser monitor |
| BM3088 | ERROR | managers/health_manager.py | Maximum restart attempts reached for browser monitor |
| BM3089 | ERROR | managers/log_rotation_manager.py | Manual rotation failed: {e} |
| BM3090 | ERROR | managers/log_rotation_manager.py | Missing required rotation options: {missing_keys} |
| BM3091 | ERROR | managers/log_rotation_manager.py | Log directory not set in configuration |
| BM3092 | ERROR | managers/log_rotation_manager.py | Failed to rotate {filename}: {e} |
| BM3093 | ERROR | managers/log_rotation_manager.py | Failed to create marker file: {e} |
| BM3094 | ERROR | readers/chrome_reader.py | ERROR Exception Found While Finding Chrome Version |
| BM3095 | ERROR | readers/chrome_reader.py | ERROR Exception Found while finding Chrome version |
| BM3096 | ERROR | readers/chrome_reader.py | Error retrieving Windows profile folders: {str(e)} |
| BM3096 | ERROR | readers/firefox_reader.py | Error retrieving Windows profile folders: {str(e)} |
| BM3097 | ERROR | readers/chrome_reader.py | Error accessing extension folders for {username}: {e} |
| BM3098 | ERROR | readers/chrome_reader.py | Error reading extension {ext_id} for Chrome: {e} |
| BM3099 | ERROR | readers/chrome_reader.py | Your history database is not compatible with BrowserMon. Please upgrade your browser. Missing: {op_err} |
| BM3099 | ERROR | readers/edge_reader.py | Your history database is not compatible with BrowserMon. Please upgrade your browser. Missing: {op_err} |
| BM3099 | ERROR | readers/firefox_reader.py | Your history database is not compatible with BrowserMon. Please upgrade your browser. Missing: {op_err} |
| BM3100 | ERROR | readers/chrome_reader.py | Database operational error: {op_err} |
| BM3100 | ERROR | readers/edge_reader.py | Database operational error: {op_err} |
| BM3100 | ERROR | readers/firefox_reader.py | Database operational error: {op_err} |
| BM3101 | ERROR | readers/chrome_reader.py | Error while processing {db_path}: {e} |
| BM3102 | ERROR | readers/chrome_reader.py | Database error while processing {db_path}: {db_err} |
| BM3103 | ERROR | readers/chrome_reader.py | Exception encountered: {pe} |
| BM3104 | ERROR | readers/chrome_reader.py | Failed to classify URLs: {str(e)} |
| BM3104 | ERROR | readers/edge_reader.py | Failed to classify URLs: {str(e)} |
| BM3104 | ERROR | readers/firefox_reader.py | Failed to classify URLs: {str(e)} |
| BM3105 | ERROR | readers/chrome_reader.py | Failed to send data to Kafka topic '{kafka_topic}': {str(e)} |
| BM3105 | ERROR | readers/edge_reader.py | Failed to send data to Kafka topic '{kafka_topic}': {str(e)} |
| BM3105 | ERROR | readers/firefox_reader.py | Failed to send data to Kafka topic '{kafka_topic}': {str(e)} |
| BM3106 | ERROR | readers/chrome_reader.py | Your history file contains wrong timestamps. |
| BM3106 | ERROR | readers/edge_reader.py | Your history file contains wrong timestamps. |
| BM3106 | ERROR | readers/firefox_reader.py | Your history file contains wrong timestamps. |
| BM3107 | ERROR | readers/chrome_reader.py | Unsupported operating SYSTEM. |
| BM3107 | ERROR | readers/firefox_reader.py | Unsupported operating SYSTEM. |
| BM3108 | ERROR | readers/chrome_reader.py | ERROR Exception Found: {e} |
| BM3108 | ERROR | readers/firefox_reader.py | ERROR Exception Found: {e} |
| BM3109 | ERROR | readers/chrome_reader.py | Unsupported operating system. |
| BM3110 | ERROR | readers/chrome_reader.py | Issue found while processing input parameters, exiting |
| BM3111 | ERROR | readers/chrome_reader.py | Termination signal received: {str(e)} |
| BM3111 | ERROR | readers/edge_reader.py | Termination signal received: {str(e)} |
| BM3111 | ERROR | readers/firefox_reader.py | Termination signal received: {str(e)} |
| BM3112 | ERROR | readers/chrome_reader.py | Error: {str(e)} |
| BM3112 | ERROR | readers/edge_reader.py | Error: {str(e)} |
| BM3112 | ERROR | readers/firefox_reader.py | Error: {str(e)} |
| BM3113 | ERROR | readers/edge_reader.py | Failed to read or parse the Local State file: {e} |
| BM3114 | ERROR | readers/edge_reader.py | Failed to retrieve profiles from Windows registry: {e} |
| BM3115 | ERROR | readers/edge_reader.py | Error reading extension {ext_id} for Edge: {e} |
| BM3116 | ERROR | readers/edge_reader.py | An error occurred while processing profile '{profile_name}': {str(e)} |
| BM3117 | ERROR | readers/edge_reader.py | Error processing history for user: {username}: {str(e)} |
| BM3118 | ERROR | readers/edge_reader.py | Shutting Down! Only root can run this script, Linux |
| BM3119 | ERROR | readers/edge_reader.py | Shutting Down! Only an admin can run this script |
| BM3120 | ERROR | readers/firefox_reader.py | Exception while extracting profiles for {get_os_username}: {e} |
| BM3121 | ERROR | readers/firefox_reader.py | Failed to read extensions for {profile_info['Profile Username']} at {profile_path}: {e} |
| BM3122 | ERROR | readers/firefox_reader.py | Failed to write extension info to {output_file}: {e} |
| BM3123 | ERROR | readers/firefox_reader.py | Failed to retrieve Firefox version from the registry: %s |
| BM3124 | ERROR | readers/firefox_reader.py | Firefox executable not found in the expected location on macOS. |
| BM3125 | ERROR | readers/firefox_reader.py | Firefox executable not found in PATH on Linux. |
| BM3126 | ERROR | readers/firefox_reader.py | Unsupported system: %s |
| BM3126 | ERROR | utils/metadata.py | Unsupported system: %s |
| BM3127 | ERROR | readers/firefox_reader.py | Failed to parse Firefox version from output: %s |
| BM3128 | ERROR | readers/firefox_reader.py | Error running Firefox executable to get version: %s |
| BM3129 | ERROR | readers/firefox_reader.py | Failed to retrieve profile information from {database_path} |
| BM3130 | ERROR | readers/firefox_reader.py | No user Data found for {database_path}, exiting |
| BM3131 | ERROR | readers/firefox_reader.py | Table 'moz_historyvisits' does not exist in the database {db_path} |
| BM3132 | ERROR | readers/firefox_reader.py | File not found to read Profile Links |
| BM3133 | ERROR | readers/firefox_reader.py | ERROR Exception Found while processing {db_path}: {e} |
| BM3134 | ERROR | readers/firefox_reader.py | Firefox-READER: WARN Permission error while reading the {db_path}: {pe} |
| BM3135 | ERROR | readers/firefox_reader.py | Invalid Path: |
| BM3136 | ERROR | readers/firefox_reader.py | Can't find Firefox Profile Data file: |
| BM3137 | ERROR | states/controller_states.py | Initialization failed: {e} |
| BM3138 | ERROR | states/controller_states.py | Error in running state: {e} |
| BM3139 | ERROR | states/controller_states.py | Configuration check failed: {e} |
| BM3140 | ERROR | states/controller_states.py | Error during shutdown: {e} |
| BM3141 | ERROR | states/controller_states.py | Controller entering error state: {self.error_message} |
| BM3142 | ERROR | utils/cache_manager/cache_manager.py | Cache cleanup failed: {e} |
| BM3143 | ERROR | utils/caching.py | Failed to write cache file {cache_file}: {e} |
| BM3144 | ERROR | utils/caching.py | Failed to read cache file {cache_file}: {e} |
| BM3145 | ERROR | utils/exceptions/config_exceptions.py | Missing section header in configuration file at line {e.lineno}: {e.source}. |
| BM3146 | ERROR | utils/exceptions/config_exceptions.py | Error parsing configuration file: {e.source}. |
| BM3147 | ERROR | utils/exceptions/config_exceptions.py | Duplicate section '{e.section}' found in the configuration file. |
| BM3148 | ERROR | utils/exceptions/config_exceptions.py | Interpolation depth error in section '{e.section}' for option '{e.option}'. |
| BM3149 | ERROR | utils/exceptions/config_exceptions.py | Missing option '{e.reference}' required for interpolation in section '{e.section}'. |
| BM3150 | ERROR | utils/exceptions/config_exceptions.py | Syntax error in interpolation string in section '{e.section}', option '{e.option}'. |
| BM3151 | ERROR | utils/exceptions/config_exceptions.py | Interpolation error in configuration file: {str(e)}. |
| BM3152 | ERROR | utils/exceptions/config_exceptions.py | An unexpected error occurred while processing the configuration. |
| BM3153 | ERROR | utils/exceptions/file_exceptions.py | File not found: {e.filename}. Please ensure the file exists. |
| BM3154 | ERROR | utils/exceptions/file_exceptions.py | Permission denied: {e.filename}. Please check your access rights. |
| BM3155 | ERROR | utils/exceptions/file_exceptions.py | Expected a file but found a directory: {e.filename}. |
| BM3156 | ERROR | utils/exceptions/file_exceptions.py | Expected a directory but found a file: {e.filename}. |
| BM3157 | ERROR | utils/exceptions/file_exceptions.py | Unexpected end of file |
| BM3158 | ERROR | utils/exceptions/file_exceptions.py | OS error occurred: {str(e)}. |
| BM3159 | ERROR | utils/exceptions/file_exceptions.py | An unexpected error occurred during file operation. |
| BM3160 | ERROR | utils/launcher.py | No browsers to launch. Ensure the desired browsers are installed and try again. |
| BM3161 | ERROR | utils/launcher.py | An error occurred while launching browsers: {e} |
| BM3162 | ERROR | utils/license/verify_license.py | Request to WatchDog timed out |
| BM3163 | ERROR | utils/metadata.py | Failed to get Edge version from registry: %s |
| BM3164 | ERROR | utils/metadata.py | Edge executable not found in PATH. |
| BM3165 | ERROR | utils/metadata.py | Failed to parse Edge version from output: %s |
| BM3166 | ERROR | utils/metadata.py | Error running Edge executable to get version: %s |
| BM4001 | CRITICAL | config/provider/ConfigProvider.py | [ConfigProvider] -- Error Loading Default Configuration, Make sure there is no Error in the default configuration file i.e. browsermon.conf. If problem presists try re-downloading the file from the repository and replacing it otherwise contact the support |
| BM4002 | CRITICAL | managers/configuration_manager.py | Could not read server configuration; Check watchdog ip and port settings |
| BM4003 | CRITICAL | managers/configuration_manager.py | Could not load configurations successfully |
| BM4004 | CRITICAL | managers/configuration_manager.py | Configuration validation failed: {error_message} |
| BM4005 | CRITICAL | states/controller_states.py | Fatal error occurred: {self.error_message} |
| BM9001 | DEBUG | browser_monitor/BrowserMonitor.py | No extension processors available |
| BM9002 | DEBUG | browser_monitor/BrowserMonitor.py | {browser} extension discovery completed: {result.extensions_found} extensions found |
| BM9003 | DEBUG | browser_monitor/BrowserMonitor.py | {browser} processing completed: {result} |
| BM9004 | DEBUG | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Discovered - {users} for multi-user mode |
| BM9005 | DEBUG | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | History file does not exist: {history_path} |
| BM9006 | DEBUG | browser_monitor/src/core/adapters/BrowserAdapters/MultiUserAdapters/MultiUserBrowserAdapter.py | Processing history file: {history_path} with timestamp filter: {since_timestamp} |
| BM9007 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | No extensions directory found for Chrome profile {profile.name} (user: {user.username}) |
| BM9008 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | No extensions directory found for Chrome profile {profile.name} |
| BM9009 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | No manifest.json found for extension {extension_id} (user: {user.username}) |
| BM9010 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | No manifest.json found for extension {extension_id} |
| BM9011 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Could not load messages from {message_file}: {e} |
| BM9012 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserChromeExtensionAdapter.py | Could not get install date for {extension_dir}: {e} |
| BM9013 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Skipping inaccessible user directory for extensions: {user.username} |
| BM9014 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | No {self.browser_key} profiles found for user {user.username} |
| BM9015 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Found {len(profiles)} {self.browser_key} profiles for user {user.username} |
| BM9016 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserExtensionAdapter.py | Error getting {self.browser_key} profiles for user {user.username}: {e} |
| BM9017 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | No extensions directory found for Firefox profile {profile.name} (user: {user.username}) |
| BM9018 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | No extensions directory found for Firefox profile {profile.name} |
| BM9019 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | No manifest.json found for Firefox addon {addon_dir.name} (user: {user.username}) |
| BM9020 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | No manifest.json found for Firefox addon {addon_dir.name} |
| BM9021 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | No manifest.json found in {xpi_path} for user {user.username}, skipping |
| BM9022 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | No manifest.json found in {xpi_path}, skipping |
| BM9023 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Could not read Firefox addons.json: {e} |
| BM9024 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MultiUserFirefoxExtensionAdapter.py | Could not get install date for {path}: {e} |
| BM9025 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MutliUserEdgeExtensionAdapter.py | No extensions directory found for Edge profile {profile.name} (user: {user.username}) |
| BM9026 | DEBUG | browser_monitor/src/core/adapters/ExtensionAdapters/MultiUserAdapters/MutliUserEdgeExtensionAdapter.py | No extensions directory found for Edge profile {profile.name} |
| BM9027 | DEBUG | browser_monitor/src/core/processors/BrowserProcessor.py | Using cached timestamp {last_timestamp} for profile {profile.name} |
| BM9028 | DEBUG | browser_monitor/src/core/processors/BrowserProcessor.py | No cache found for profile {profile.name}, fetching recent history |
| BM9029 | DEBUG | browser_monitor/src/events/publisher.py | Subscribed {subscriber.class.name} to {len(subscriber.get_subscribed_events())} event types |
| BM9030 | DEBUG | browser_monitor/src/events/publisher.py | Published {event_type.value} event to {len(subscribers)} subscribers |
| BM9031 | DEBUG | browser_monitor/src/events/publisher.py | Kafka producer not available, skipping publish |
| BM9032 | DEBUG | browser_monitor/src/events/publisher.py | Published entry to Kafka: topic={record_metadata.topic}, partition={record_metadata.partition}, offset={record_metadata.offset} |
| BM9033 | DEBUG | browser_monitor/src/events/publisher.py | Kafka producer not available, skipping batch publish |
| BM9034 | DEBUG | browser_monitor/src/events/publisher.py | Published batch {i // batch_size + 1}: {len(batch)} entries |
| BM9035 | DEBUG | browser_monitor/src/events/subscribers.py | Event: {event.event_type.value} - {event.data} |
| BM9036 | DEBUG | browser_monitor/src/events/subscribers.py | Kafka producer not available, skipping event publish |
| BM9037 | DEBUG | browser_monitor/src/events/subscribers.py | Published {len(entries)} entries to Kafka topic '{self.topic}' |
| BM9038 | DEBUG | browser_monitor/src/strategies/caching.py | Loaded {browser} cache with {len(self.cache_data[browser])} profiles |
| BM9039 | DEBUG | browser_monitor/src/strategies/caching.py | Saved {browser} cache to {cache_path} |
| BM9040 | DEBUG | browser_monitor/src/strategies/caching.py | Updated cache for {browser_type} profile {profile.name} with {len(entries)} entries |
| BM9041 | DEBUG | browser_monitor/src/strategies/caching.py | Memory cache filtered {len(entries)} to {len(new_entries)} new entries |
| BM9042 | DEBUG | browser_monitor/src/strategies/caching.py | Updated memory cache for profile {profile.name} |
| BM9043 | DEBUG | browser_monitor/src/strategies/caching.py | Cleaned up {len(keys_to_remove)} LRU cache entries |
| BM9044 | DEBUG | browser_monitor/src/strategies/caching.py | Found timestamp in memory cache for profile {profile.name}: {memory_timestamp} |
| BM9045 | DEBUG | browser_monitor/src/strategies/caching.py | Found timestamp in file cache for profile {profile.name}: {file_timestamp} |
| BM9046 | DEBUG | browser_monitor/src/strategies/caching.py | No cached timestamp found for profile {profile.name} |
| BM9047 | DEBUG | browser_monitor/src/strategies/caching.py | File cache provided more restrictive filtering for {profile.name} |
| BM9048 | DEBUG | browser_monitor/src/strategies/caching.py | Updated file cache for profile {profile.name} |
| BM9049 | DEBUG | browser_monitor/src/strategies/caching.py | Cleaned up memory cache |
| BM9050 | DEBUG | browser_monitor/src/strategies/caching.py | Cleaned up file cache |
| BM9051 | DEBUG | browser_monitor/src/strategies/caching.py | Warmed memory cache for profile {profile.name} with timestamp {timestamp} |
| BM9052 | DEBUG | browser_monitor/src/strategies/caching.py | Failed to warm memory cache for profile {profile.name}: {e} |
| BM9053 | DEBUG | browser_monitor/src/strategies/caching.py | File cache disabled, skipping sync |
| BM9054 | DEBUG | browser_monitor/src/strategies/classification.py | ETI Classification: {len(cached_results)} cached, {len(urls_to_classify)} to classify |
| BM9055 | DEBUG | browser_monitor/src/strategies/classification.py | UCS Classification: {len(cached_results)} cached, {len(domains_to_classify)} to classify |
| BM9056 | DEBUG | browser_monitor/src/strategies/classification.py | Joint Classification - ETI: {len(cached_eti_results)} cached, {len(urls_to_classify)} to classify |
| BM9057 | DEBUG | browser_monitor/src/strategies/classification.py | Joint Classification - UCS: {len(cached_ucs_results)} cached, {len(domains_to_classify)} to classify |
| BM9058 | DEBUG | config/strategies/WatchdogConfigStrategy.py | [WatchdogConfigStrategy] No changes in configurations. Skipping update. |
| BM9059 | DEBUG | config/strategies/WatchdogConfigStrategy.py | [WatchdogConfigStrategy] Writing configurations to file ... |
| BM9060 | DEBUG | health_check/server_observer.py | No configuration data received from WatchDog |
| BM9061 | DEBUG | managers/config_converter.py | Converting controller configuration to BrowserMonitor configuration |
| BM9062 | DEBUG | managers/log_rotation_manager.py | Manual rotation of history files called |
| BM9063 | DEBUG | managers/log_rotation_manager.py | Successfully rotated {filename} |
| BM9064 | DEBUG | managers/log_rotation_manager.py | File {filename} does not exist, skipping rotation |
| BM9065 | DEBUG | managers/log_rotation_manager.py | Created rotation marker file: {marker_file} |
| BM9066 | DEBUG | readers/chrome_reader.py | Sniffing user profiles from {database_path} |
| BM9067 | DEBUG | readers/chrome_reader.py | Account ID: {Account_id}, Full Name: {full_name}, Email ID: {email_id} accquired for {database_path} |
| BM9068 | DEBUG | readers/chrome_reader.py | Added profile folder: {folder_name} |
| BM9068 | DEBUG | readers/firefox_reader.py | Added profile folder: {folder_name} |
| BM9069 | DEBUG | readers/chrome_reader.py | Found {folder_count} folders in folder path {folder_path} |
| BM9070 | DEBUG | readers/chrome_reader.py | Successfully connected to the SQLite database in read-only mode |
| BM9070 | DEBUG | readers/firefox_reader.py | Successfully connected to the SQLite database in read-only mode |
| BM9071 | DEBUG | readers/chrome_reader.py | SQLite connection closed |
| BM9072 | DEBUG | readers/chrome_reader.py | Total {entries_count} entries processed for Profile {db_path} |
| BM9072 | DEBUG | readers/firefox_reader.py | Total {entries_count} entries processed for Profile {db_path} |
| BM9073 | DEBUG | readers/chrome_reader.py | Found logdir {json_file} for writing history files |
| BM9073 | DEBUG | readers/firefox_reader.py | Found logdir {json_file} for writing history files |
| BM9074 | DEBUG | readers/chrome_reader.py | Found logdir {csv_file} for writing history files |
| BM9074 | DEBUG | readers/firefox_reader.py | Found logdir {csv_file} for writing history files |
| BM9075 | DEBUG | readers/chrome_reader.py | Reader Started successfully in {mode} mode |
| BM9075 | DEBUG | readers/edge_reader.py | Reader Started successfully in {mode} mode |
| BM9075 | DEBUG | readers/firefox_reader.py | Reader Started successfully in {mode} mode |
| BM9076 | DEBUG | readers/chrome_reader.py | Validated parameters Successfully |
| BM9076 | DEBUG | readers/edge_reader.py | Validated parameters Successfully |
| BM9076 | DEBUG | readers/firefox_reader.py | Validated parameters Successfully |
| BM9077 | DEBUG | readers/edge_reader.py | Entering get_profiles with user_profile_dir: {user_profile_dir}, username: {username} |
| BM9078 | DEBUG | readers/edge_reader.py | Profiles retrieved successfully for user: {username} |
| BM9079 | DEBUG | readers/edge_reader.py | Exiting get_profiles with profiles: {list(profiles.keys())} |
| BM9080 | DEBUG | readers/edge_reader.py | Starting to gather all profiles on {platform.node()} |
| BM9081 | DEBUG | readers/edge_reader.py | Sniffing users from {platform.node()} |
| BM9082 | DEBUG | readers/edge_reader.py | Number of profiles found in registry: {num_profiles} |
| BM9083 | DEBUG | readers/edge_reader.py | Operating SYSTEM is Linux; scanning /home directories for profiles. |
| BM9084 | DEBUG | readers/edge_reader.py | All profiles gathered: {list(profiles.keys())} |
| BM9085 | DEBUG | readers/edge_reader.py | Processing browsing history for user: {username} |
| BM9086 | DEBUG | readers/edge_reader.py | Processing browsing history for profile: {profile_name} |
| BM9087 | DEBUG | readers/edge_reader.py | Current Modified Time For History File: {current_modified_time} |
| BM9088 | DEBUG | readers/edge_reader.py | Starting to process Edge browsing history |
| BM9089 | DEBUG | readers/edge_reader.py | Found logdir {logdir} for writing history files |
| BM9090 | DEBUG | readers/edge_reader.py | Reader started successfully in {mode} mode |
| BM9091 | DEBUG | readers/edge_reader.py | Encryption key: {encryption_key} |
| BM9092 | DEBUG | readers/edge_reader.py | Scheduler started: {scheduler} |
| BM9093 | DEBUG | readers/firefox_reader.py | Sniffing user profiles from Windows |
| BM9094 | DEBUG | readers/firefox_reader.py | Number of profiles found in the registry: {winreg.QueryInfoKey(reg_key)[0]} |
| BM9095 | DEBUG | readers/firefox_reader.py | Added profile for {username} |
| BM9096 | DEBUG | readers/firefox_reader.py | Sniffing user profiles from Linux |
| BM9097 | DEBUG | readers/firefox_reader.py | Profile objects: {profile_objects} |
| BM9098 | DEBUG | readers/firefox_reader.py | Checking path: {extensions_json_path} |
| BM9099 | DEBUG | readers/firefox_reader.py | Running on system: {SYSTEM} |
| BM9100 | DEBUG | readers/firefox_reader.py | prefs file path: {prefs_file_path} |
| BM9101 | DEBUG | readers/firefox_reader.py | Profile info found - Account ID: {Account_id}, Email ID: {email_id}, Full Name: {full_name} |
| BM9102 | DEBUG | readers/firefox_reader.py | Sniffing FireFox profiles |
| BM9103 | DEBUG | readers/firefox_reader.py | Profile found for {get_os_username} at {profile_info['Profile Link']} |
| BM9104 | DEBUG | states/controller_states.py | Exiting initialization state |
| BM9105 | DEBUG | states/controller_states.py | Configuration unchanged |
| BM9106 | DEBUG | states/controller_states.py | Exiting running state |
| BM9107 | DEBUG | states/controller_states.py | Exiting stopping state |
| BM9108 | DEBUG | states/controller_states.py | Exiting error state |
| BM9109 | DEBUG | utils/cache_manager/cache_manager.py | Cache maintenance schedule setup |
| BM9110 | DEBUG | utils/cache_manager/cache_manager.py | Cache size ({current_count}) within limits, no cleanup needed |
| BM9111 | DEBUG | utils/caching.py | Cache file successfully written. |
| BM9112 | DEBUG | utils/launcher.py | Renaming cache files |
| BM9113 | DEBUG | utils/launcher.py | Renaming {old_name} to {new_name} |
| BM9114 | DEBUG | utils/license/verify_license.py | Machine Label not found using default value; if you want to use label for this machine set the option in {file_path}; using default label for now |
| BM9115 | DEBUG | utils/license/verify_license.py | Payload: {json.dumps(payload, indent=LOG_INDENT)} |
| BM9116 | DEBUG | utils/license/verify_license.py | Exception occurred while making request to {LICENSE_VALIDATION_URL}: {timeout_exception} |
| BM9117 | DEBUG | utils/license/verify_license.py | Response: |
| BM9118 | DEBUG | utils/license/verify_license.py | Response: {response.text}, status: {response.status_code} |
| BM9119 | DEBUG | utils/sysinfo/systemUUID.py | get_system_uuid_win successful |
| BM9120 | DEBUG | utils/sysinfo/systemUUID.py | get_system_uuid_linux successful |