Skip to content

Commit 8c66a50

Browse files
committed
[log2src] update for API changes
1 parent ee32069 commit 8c66a50

7 files changed

Lines changed: 53 additions & 27 deletions

File tree

src/field_overlay_source.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,9 @@ field_overlay_source::build_field_lines(const listview_curses& lv,
538538
});
539539
this->fos_lines.emplace_back(al);
540540
}
541-
} else if (this->fos_log_helper.ldh_parser->dp_pairs.empty()) {
541+
} else if (!this->fos_log_helper.ldh_parser
542+
|| this->fos_log_helper.ldh_parser->dp_pairs.empty())
543+
{
542544
this->fos_lines.emplace_back(" No discovered message fields");
543545
} else {
544546
this->fos_lines.emplace_back(

src/log_data_helper.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,22 @@ log_data_helper::load_line(content_line_t line, bool allow_middle)
8282
this->ldh_json_pairs.clear();
8383
this->ldh_xml_pairs.clear();
8484
this->ldh_line_attrs.clear();
85+
this->ldh_msg_format.clear();
86+
#ifdef HAVE_RUST_DEPS
87+
this->ldh_src_ref = std::nullopt;
88+
this->ldh_src_vars.clear();
89+
#endif
8590
} else {
8691
auto format = this->ldh_file->get_format();
8792
auto& sa = this->ldh_line_attrs;
8893

94+
#ifdef HAVE_RUST_DEPS
95+
this->ldh_src_ref = std::nullopt;
96+
this->ldh_src_vars.clear();
97+
#endif
98+
this->ldh_parser.reset();
99+
this->ldh_scanner.reset();
100+
this->ldh_namer.reset();
89101
this->ldh_line_attrs.clear();
90102
this->ldh_line_values.clear();
91103
this->ldh_file->read_full_message(ll, this->ldh_line_values.lvv_sbr);
@@ -192,6 +204,10 @@ log_data_helper::parse_body()
192204
return;
193205
}
194206

207+
if (!this->ldh_line_values.lvv_sbr.get_metadata().m_valid_utf) {
208+
return;
209+
}
210+
195211
auto& sbr = this->ldh_line_values.lvv_sbr;
196212
auto& sa = this->ldh_line_attrs;
197213
auto body = find_string_attr_range(sa, &SA_BODY);

src/third-party/lnav-rs-ext/Cargo.lock

Lines changed: 14 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/third-party/lnav-rs-ext/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ prqlc = "0.13.4"
2727
cxx = "1.0"
2828
log = "0.4"
2929
miette = "7.6.0"
30-
log2src = {git = "https://github.com/tstack/log2src.git", branch = "pr15feedback"}
30+
log2src = {git = "https://github.com/tstack/log2src.git", branch = "backtrace1"}
3131
# log2src = {path = "/Users/tstack/github/log2src"}
3232
rouille = "3.6.2"
3333
serde_json = "1.0.143"

src/third-party/lnav-rs-ext/lnav_rs_ext.cxx.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,9 +1053,9 @@ void lnav_rs_ext$cxxbridge1$discover_srcs() noexcept;
10531053

10541054
void lnav_rs_ext$cxxbridge1$get_status(::lnav_rs_ext::ExtProgress *return$) noexcept;
10551055

1056-
::lnav_rs_ext::FindLogResult *lnav_rs_ext$cxxbridge1$find_log_statement(::rust::Str file, ::std::uint32_t line, ::rust::Str body) noexcept;
1056+
::lnav_rs_ext::FindLogResult *lnav_rs_ext$cxxbridge1$find_log_statement(::rust::Str file, ::std::size_t line, ::rust::Str body) noexcept;
10571057

1058-
::lnav_rs_ext::FindLogResultJson *lnav_rs_ext$cxxbridge1$find_log_statement_json(::rust::Str file, ::std::uint32_t line, ::rust::Str body) noexcept;
1058+
::lnav_rs_ext::FindLogResultJson *lnav_rs_ext$cxxbridge1$find_log_statement_json(::rust::Str file, ::std::size_t line, ::rust::Str body) noexcept;
10591059

10601060
void lnav_rs_ext$cxxbridge1$get_log_statements_for(::rust::Str file, ::rust::Vec<::lnav_rs_ext::FindLogResult> *return$) noexcept;
10611061

@@ -1088,11 +1088,11 @@ ::lnav_rs_ext::ExtProgress get_status() noexcept {
10881088
return ::std::move(return$.value);
10891089
}
10901090

1091-
::std::unique_ptr<::lnav_rs_ext::FindLogResult> find_log_statement(::rust::Str file, ::std::uint32_t line, ::rust::Str body) noexcept {
1091+
::std::unique_ptr<::lnav_rs_ext::FindLogResult> find_log_statement(::rust::Str file, ::std::size_t line, ::rust::Str body) noexcept {
10921092
return ::std::unique_ptr<::lnav_rs_ext::FindLogResult>(lnav_rs_ext$cxxbridge1$find_log_statement(file, line, body));
10931093
}
10941094

1095-
::std::unique_ptr<::lnav_rs_ext::FindLogResultJson> find_log_statement_json(::rust::Str file, ::std::uint32_t line, ::rust::Str body) noexcept {
1095+
::std::unique_ptr<::lnav_rs_ext::FindLogResultJson> find_log_statement_json(::rust::Str file, ::std::size_t line, ::rust::Str body) noexcept {
10961096
return ::std::unique_ptr<::lnav_rs_ext::FindLogResultJson>(lnav_rs_ext$cxxbridge1$find_log_statement_json(file, line, body));
10971097
}
10981098

src/third-party/lnav-rs-ext/lnav_rs_ext.cxx.hh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -998,9 +998,9 @@ void discover_srcs() noexcept;
998998

999999
::lnav_rs_ext::ExtProgress get_status() noexcept;
10001000

1001-
::std::unique_ptr<::lnav_rs_ext::FindLogResult> find_log_statement(::rust::Str file, ::std::uint32_t line, ::rust::Str body) noexcept;
1001+
::std::unique_ptr<::lnav_rs_ext::FindLogResult> find_log_statement(::rust::Str file, ::std::size_t line, ::rust::Str body) noexcept;
10021002

1003-
::std::unique_ptr<::lnav_rs_ext::FindLogResultJson> find_log_statement_json(::rust::Str file, ::std::uint32_t line, ::rust::Str body) noexcept;
1003+
::std::unique_ptr<::lnav_rs_ext::FindLogResultJson> find_log_statement_json(::rust::Str file, ::std::size_t line, ::rust::Str body) noexcept;
10041004

10051005
::rust::Vec<::lnav_rs_ext::FindLogResult> get_log_statements_for(::rust::Str file) noexcept;
10061006

src/third-party/lnav-rs-ext/src/lib.rs

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ use crate::ext_access::{start_server, stop_server};
66
use crate::ffi::{get_lnav_log_level, notify_pollers, ExtError, ExtProgress, FindLogResult, FindLogResultJson, LnavLogLevel, SourceDetails, StartExtResult, Status, VarPair};
77
use cxx::UniquePtr;
88
use log::{Level, Log, Metadata, Record};
9-
use log2src::{
10-
LogError, LogMapping, LogMatcher, LogRef, ProgressTracker, ProgressUpdate, SourceRef,
11-
VariablePair, WorkInfo,
12-
};
9+
use log2src::{LogError, LogMapping, LogMatcher, LogRef, LogRefBuilder, ProgressTracker, ProgressUpdate, SourceRef, VariablePair, WorkInfo};
1310
use miette::Diagnostic;
1411
use prqlc::{DisplayOptions, Target};
1512
use prqlc::{ErrorMessage, ErrorMessages};
@@ -280,10 +277,10 @@ mod ffi {
280277

281278
fn get_status() -> ExtProgress;
282279

283-
fn find_log_statement(file: &str, line: u32, body: &str) -> UniquePtr<FindLogResult>;
280+
fn find_log_statement(file: &str, line: usize, body: &str) -> UniquePtr<FindLogResult>;
284281
fn find_log_statement_json(
285282
file: &str,
286-
line: u32,
283+
line: usize,
287284
body: &str,
288285
) -> UniquePtr<FindLogResultJson>;
289286

@@ -498,13 +495,12 @@ impl FindLogResult {
498495
}
499496
}
500497

501-
fn find_log_statement(file: &str, lineno: u32, body: &str) -> UniquePtr<FindLogResult> {
498+
fn find_log_statement(file: &str, lineno: usize, body: &str) -> UniquePtr<FindLogResult> {
502499
let log_matcher = LOG_MATCHER.lock().unwrap();
503-
let log_ref = LogRef::from_parsed(
504-
if file.is_empty() { None } else { Some(file) },
505-
if file.is_empty() { None } else { Some(lineno) },
506-
body,
507-
);
500+
let log_ref = LogRefBuilder::new()
501+
.with_file(if file.is_empty() { None } else { Some(file) })
502+
.with_lineno(if file.is_empty() { None } else { Some(lineno) })
503+
.build(body);
508504

509505
if let Some(LogMapping {
510506
variables,
@@ -519,13 +515,12 @@ fn find_log_statement(file: &str, lineno: u32, body: &str) -> UniquePtr<FindLogR
519515
}
520516
}
521517

522-
fn find_log_statement_json(file: &str, lineno: u32, body: &str) -> UniquePtr<FindLogResultJson> {
518+
fn find_log_statement_json(file: &str, lineno: usize, body: &str) -> UniquePtr<FindLogResultJson> {
523519
let log_matcher = LOG_MATCHER.lock().unwrap();
524-
let log_ref = LogRef::from_parsed(
525-
if file.is_empty() { None } else { Some(file) },
526-
if file.is_empty() { None } else { Some(lineno) },
527-
body,
528-
);
520+
let log_ref = LogRefBuilder::new()
521+
.with_file(if file.is_empty() { None } else { Some(file) })
522+
.with_lineno(if file.is_empty() { None } else { Some(lineno) })
523+
.build(body);
529524

530525
if let Some(LogMapping {
531526
variables,

0 commit comments

Comments
 (0)