From 0b3dd233d90f5c54e5bb23b9737c7aa7fdaa7a9f Mon Sep 17 00:00:00 2001 From: davemarco <83603688+davemarco@users.noreply.github.com> Date: Sat, 5 Oct 2024 12:56:42 -0400 Subject: [PATCH] Apply suggestions from code review Co-authored-by: Junhao Liao --- src/clp_ffi_js/ir/StreamReader.cpp | 10 +++++----- src/clp_ffi_js/ir/StreamReader.hpp | 7 +++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/clp_ffi_js/ir/StreamReader.cpp b/src/clp_ffi_js/ir/StreamReader.cpp index 11348409..4fb06b57 100644 --- a/src/clp_ffi_js/ir/StreamReader.cpp +++ b/src/clp_ffi_js/ir/StreamReader.cpp @@ -128,7 +128,8 @@ auto StreamReader::build() -> size_t { constexpr size_t cLogLevelPositionInMessages{1}; if (logtype.length() < cLogLevelPositionInMessages) { - SPDLOG_ERROR("Failed to extract log type for log level parsing."); break; + SPDLOG_WARN("Message is too short to extract log level."); + break; } size_t log_level{cLogLevelNone}; @@ -236,10 +237,9 @@ void StreamReader::filter_log_events(const emscripten::val& logLevelFilter) { m_filtered_log_event_map.emplace(); std::vector filter_levels = emscripten::vecFromJSArray(logLevelFilter); - for (size_t index = 0; index < m_encoded_log_events.size(); ++index) { - const auto& logEvent = m_encoded_log_events[index]; - if (std::find(filter_levels.begin(), filter_levels.end(), logEvent.get_log_level()) != filter_levels.end()) { - m_filtered_log_event_map->push_back(index); + for (const auto& [logEventIdx, logEvent] : std::views::enumerate(m_encoded_log_events)) { + if (std::ranges::find(filter_levels, logEvent.get_log_level()) != filter_levels.end()) { + m_filtered_log_event_map->push_back(logEventIdx); } } } diff --git a/src/clp_ffi_js/ir/StreamReader.hpp b/src/clp_ffi_js/ir/StreamReader.hpp index 6868d532..c636e705 100644 --- a/src/clp_ffi_js/ir/StreamReader.hpp +++ b/src/clp_ffi_js/ir/StreamReader.hpp @@ -58,8 +58,7 @@ class StreamReader { [[nodiscard]] auto get_filtered_log_event_map() const -> FilteredLogEventMapType; /** - * Filters log events and generates `m_filtered_log_event_map`. If `logLevelFilter` is `null`, - * `m_filtered_log_event_map` will be set to `std::nullopt`. + * Generates a filtered collection from all log events. * * @param logLevelFilter Array of selected log levels */ @@ -79,14 +78,14 @@ class StreamReader { * * @param begin_idx * @param end_idx - * @param use_filter Whether to decode from the filtered or unfiltered log events collection. + * @param use_filter If true, decode from the filtered log events collection; otherwise, decode from the unfiltered one. * @return An array where each element is a decoded log event represented by an array of: * - The log event's message * - The log event's timestamp as milliseconds since the Unix epoch * - The log event's log level as an integer that indexes into `cLogLevelNames` * - The log event's number (1-indexed) in the stream * @return null if any log event in the range doesn't exist (e.g., the range exceeds the number - * of log events in collection) + * of log events in the collection). */ [[nodiscard]] auto decode_range(size_t begin_idx, size_t end_idx, bool use_filter) const -> DecodedResultsTsType;