v0.1.2-pre.003-fix.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-logging-lib/src/runtime.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
use tracing_subscriber::Layer; // rust-rules: trait-import
|
||||
use tracing_subscriber::layer::SubscriberExt; // rust-rules: trait-import
|
||||
@@ -72,6 +72,8 @@ fn prepare_runtime_layers(settings: &crate::LoggingSettings) -> ksp_core_lib::Re
|
||||
}
|
||||
let mut layers = RuntimeLayers::new();
|
||||
if let std::option::Option::Some(console) = settings.console() {
|
||||
let takeover_filter: BoxedRuntimeLayer = std::boxed::Box::new(build_target_filter(settings));
|
||||
layers.push(takeover_filter);
|
||||
layers.push(build_console_layer(console, settings));
|
||||
}
|
||||
return std::result::Result::Ok(layers);
|
||||
@@ -87,7 +89,6 @@ fn build_console_layer(console: &crate::ConsoleSettings, settings: &crate::Loggi
|
||||
.with_ansi(false)
|
||||
.with_target(true)
|
||||
.with_span_events(map_span_events(settings.span_events()))
|
||||
.with_filter(build_target_filter(settings))
|
||||
.boxed();
|
||||
return layer;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-logging-lib/unit_tests/runtime.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
#[test]
|
||||
fn level_mapping_covers_all_ksp_levels() {
|
||||
@@ -54,3 +54,20 @@ fn file_output_is_rejected_until_file_runtime_is_introduced() {
|
||||
};
|
||||
assert_eq!(error.code(), crate::ERROR_CODE_INVALID_SETTINGS);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn console_runtime_keeps_takeover_filter_separate_from_formatter() {
|
||||
let settings = crate::LoggingSettings::new(
|
||||
crate::LogFilterLevel::Info,
|
||||
crate::SpanEvents::Off,
|
||||
std::option::Option::Some(crate::ConsoleSettings::stdout()),
|
||||
std::option::Option::None,
|
||||
);
|
||||
let result = super::prepare_runtime_layers(&settings);
|
||||
assert!(result.is_ok());
|
||||
let layers = match result {
|
||||
std::result::Result::Ok(layers) => layers,
|
||||
std::result::Result::Err(_) => return,
|
||||
};
|
||||
assert_eq!(layers.len(), 2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user