57 lines
1.9 KiB
Python
57 lines
1.9 KiB
Python
import logging
|
|
import time
|
|
|
|
from scripts import utils
|
|
from directive.munet.log_record import identify, parse, full_parse
|
|
|
|
# from .settings import conf
|
|
|
|
LOGGER = logging.LoggerAdapter(
|
|
logging.getLogger("swmu"), {"unitid": "unassigned"})
|
|
|
|
|
|
def load_log(import_dir, sim_time_check):
|
|
with open(import_dir) as fin:
|
|
# take only message even when row is f"{log_address}: {message}"
|
|
fin_data = [row.split(":")[-1].strip() for row in fin]
|
|
index = 0
|
|
list_ts = []
|
|
list_ts_warning = []
|
|
five_year = time.time() - 157784630
|
|
|
|
for message in fin_data:
|
|
message_ts = utils.get_timestamp_of_message(
|
|
bytes.fromhex(message))
|
|
if sim_time_check == "max_y" and message_ts is not None:
|
|
if message_ts < five_year:
|
|
list_ts_warning.append(
|
|
(index, message, message_ts))
|
|
continue
|
|
message_type = identify(bytes.fromhex(message))
|
|
try:
|
|
message_type_parse = parse(bytes.fromhex(message))
|
|
message_type_full_parse = full_parse(bytes.fromhex(message))
|
|
except Exception:
|
|
# except Exception as e:
|
|
# logging.warning(e)
|
|
continue
|
|
if message_ts is not None and message_ts <= 423792000:
|
|
list_ts_warning.append(
|
|
(index, message, message_ts))
|
|
list_ts.append(
|
|
(index, message, message_ts, message_type, message_type_parse,
|
|
message_type_full_parse, list_ts_warning))
|
|
index += 1
|
|
"""
|
|
if list_ts_warning:
|
|
LOGGER.warning(
|
|
f"timestamp in mulog is suspicious ([row in mulog]"
|
|
f", [message], [timestamp]): {list_ts_warning}")
|
|
"""
|
|
return list_ts
|
|
|
|
|
|
def dir_mulog(import_dir, sim_time_check):
|
|
mulog_data = load_log(import_dir, sim_time_check)
|
|
return mulog_data
|