v0.1.3-pre.006
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-logging-lib/tests/runtime.rs
|
||||
// version: 7
|
||||
// version: 8
|
||||
|
||||
//! Integration tests for global initialization, takeover filtering, non-blocking outputs and hot reload.
|
||||
|
||||
@@ -173,21 +173,6 @@ fn global_runtime_supports_takeover_non_blocking_outputs_hot_reload_and_single_i
|
||||
assert!(logging_trace_enabled());
|
||||
assert!(!external_error_enabled());
|
||||
exercise_concurrent_reload(&mut guard, &disabled);
|
||||
let domain_routed = ksp_logging_lib::LoggingSettings::new(
|
||||
ksp_logging_lib::LogFilterLevel::Info,
|
||||
ksp_logging_lib::SpanEvents::Off,
|
||||
std::option::Option::Some(ksp_logging_lib::ConsoleSettings::new(
|
||||
true,
|
||||
ksp_logging_lib::ConsoleOutput::Stderr,
|
||||
false,
|
||||
ksp_logging_lib::LogFormat::Human,
|
||||
ksp_logging_lib::OutputFilter::new(ksp_logging_lib::LogFilterLevel::Info, std::vec!["*".to_string()], std::vec!["logging".to_string()]),
|
||||
)),
|
||||
std::vec::Vec::new(),
|
||||
);
|
||||
let domain_reload = ksp_logging_lib::reinitialize(&mut guard, &domain_routed);
|
||||
assert!(domain_reload.is_err());
|
||||
assert_ne!(guard.settings(), &domain_routed);
|
||||
let human_directory = root.join("human");
|
||||
let compact_directory = root.join("compact");
|
||||
let pretty_directory = root.join("pretty");
|
||||
@@ -272,6 +257,119 @@ fn global_runtime_supports_takeover_non_blocking_outputs_hot_reload_and_single_i
|
||||
assert_eq!(guard.dropped_file_lines("file.pretty.error"), std::option::Option::Some(0));
|
||||
assert_eq!(guard.dropped_file_lines("file.json.logging"), std::option::Option::Some(0));
|
||||
assert_eq!(guard.dropped_file_lines("file.unknown"), std::option::Option::None);
|
||||
let domain_logging_directory = root.join("domain-logging");
|
||||
let domain_store_directory = root.join("domain-store");
|
||||
let domain_any_directory = root.join("domain-any");
|
||||
let domain_settings = ksp_logging_lib::LoggingSettings::new(
|
||||
ksp_logging_lib::LogFilterLevel::Trace,
|
||||
ksp_logging_lib::SpanEvents::Full,
|
||||
std::option::Option::None,
|
||||
std::vec![
|
||||
ksp_logging_lib::FileSettings::new(
|
||||
"file.domain.logging",
|
||||
true,
|
||||
domain_logging_directory.as_path(),
|
||||
"logging.log",
|
||||
ksp_logging_lib::FileRotation::Never,
|
||||
ksp_logging_lib::LogFormat::Human,
|
||||
ksp_logging_lib::OutputFilter::new(
|
||||
ksp_logging_lib::LogFilterLevel::Trace,
|
||||
std::vec![LOGGING_TARGET.to_string()],
|
||||
std::vec!["logging".to_string()],
|
||||
),
|
||||
),
|
||||
ksp_logging_lib::FileSettings::new(
|
||||
"file.domain.store",
|
||||
true,
|
||||
domain_store_directory.as_path(),
|
||||
"store.log",
|
||||
ksp_logging_lib::FileRotation::Never,
|
||||
ksp_logging_lib::LogFormat::Human,
|
||||
ksp_logging_lib::OutputFilter::new(
|
||||
ksp_logging_lib::LogFilterLevel::Trace,
|
||||
std::vec![LOGGING_TARGET.to_string()],
|
||||
std::vec!["store".to_string()],
|
||||
),
|
||||
),
|
||||
ksp_logging_lib::FileSettings::new(
|
||||
"file.domain.any",
|
||||
true,
|
||||
domain_any_directory.as_path(),
|
||||
"any.log",
|
||||
ksp_logging_lib::FileRotation::Never,
|
||||
ksp_logging_lib::LogFormat::Human,
|
||||
ksp_logging_lib::OutputFilter::new(ksp_logging_lib::LogFilterLevel::Trace, std::vec![LOGGING_TARGET.to_string()], std::vec!["*".to_string()],),
|
||||
),
|
||||
],
|
||||
);
|
||||
let domain_reload = ksp_logging_lib::reinitialize(&mut guard, &domain_settings);
|
||||
assert!(domain_reload.is_ok());
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, domain = "logging.runtime", "direct logging domain marker");
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, domain = "store", "direct store domain marker");
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, "undomained marker");
|
||||
let logging_lifecycle = ksp_logging_lib::info_span!(target: LOGGING_TARGET, "logging_lifecycle_span", domain = "logging");
|
||||
logging_lifecycle.in_scope(|| {
|
||||
return;
|
||||
});
|
||||
let store_lifecycle = ksp_logging_lib::info_span!(target: LOGGING_TARGET, "store_lifecycle_span", domain = "store");
|
||||
store_lifecycle.in_scope(|| {
|
||||
return;
|
||||
});
|
||||
let logging_parent = ksp_logging_lib::info_span!(target: LOGGING_TARGET, "logging_parent_span", domain = "logging");
|
||||
logging_parent.in_scope(|| {
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, "inherited logging marker");
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, domain = "store", "event override store marker");
|
||||
let inherited_child = ksp_logging_lib::info_span!(target: LOGGING_TARGET, "inherited_child_span");
|
||||
inherited_child.in_scope(|| {
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, "child inherited logging marker");
|
||||
});
|
||||
let store_child = ksp_logging_lib::info_span!(target: LOGGING_TARGET, "store_child_span", domain = "store");
|
||||
store_child.in_scope(|| {
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, "child explicit store marker");
|
||||
});
|
||||
});
|
||||
let store_parent = ksp_logging_lib::info_span!(target: LOGGING_TARGET, "store_parent_span", domain = "store");
|
||||
store_parent.in_scope(|| {
|
||||
ksp_logging_lib::info!(target: LOGGING_TARGET, "inherited store marker");
|
||||
});
|
||||
let disable_after_domain = ksp_logging_lib::reinitialize(&mut guard, &disabled);
|
||||
assert!(disable_after_domain.is_ok());
|
||||
let domain_logging_text = read_directory_text(domain_logging_directory.as_path());
|
||||
let domain_store_text = read_directory_text(domain_store_directory.as_path());
|
||||
let domain_any_text = read_directory_text(domain_any_directory.as_path());
|
||||
assert!(domain_logging_text.contains("direct logging domain marker"));
|
||||
assert!(domain_logging_text.contains("inherited logging marker"));
|
||||
assert!(domain_logging_text.contains("child inherited logging marker"));
|
||||
assert!(domain_logging_text.contains("logging_lifecycle_span"));
|
||||
assert!(!domain_logging_text.contains("direct store domain marker"));
|
||||
assert!(!domain_logging_text.contains("event override store marker"));
|
||||
assert!(!domain_logging_text.contains("child explicit store marker"));
|
||||
assert!(!domain_logging_text.contains("inherited store marker"));
|
||||
assert!(!domain_logging_text.contains("store_lifecycle_span"));
|
||||
assert!(!domain_logging_text.contains("undomained marker"));
|
||||
assert!(domain_store_text.contains("direct store domain marker"));
|
||||
assert!(domain_store_text.contains("event override store marker"));
|
||||
assert!(domain_store_text.contains("child explicit store marker"));
|
||||
assert!(domain_store_text.contains("inherited store marker"));
|
||||
assert!(domain_store_text.contains("store_lifecycle_span"));
|
||||
assert!(!domain_store_text.contains("direct logging domain marker"));
|
||||
assert!(!domain_store_text.contains("inherited logging marker"));
|
||||
assert!(!domain_store_text.contains("child inherited logging marker"));
|
||||
assert!(!domain_store_text.contains("logging_lifecycle_span"));
|
||||
assert!(!domain_store_text.contains("undomained marker"));
|
||||
assert!(domain_any_text.contains("direct logging domain marker"));
|
||||
assert!(domain_any_text.contains("direct store domain marker"));
|
||||
assert!(domain_any_text.contains("undomained marker"));
|
||||
assert!(domain_any_text.contains("inherited logging marker"));
|
||||
assert!(domain_any_text.contains("event override store marker"));
|
||||
assert!(domain_any_text.contains("child inherited logging marker"));
|
||||
assert!(domain_any_text.contains("child explicit store marker"));
|
||||
assert!(domain_any_text.contains("inherited store marker"));
|
||||
assert!(domain_any_text.contains("logging_lifecycle_span"));
|
||||
assert!(domain_any_text.contains("store_lifecycle_span"));
|
||||
assert_eq!(guard.dropped_file_lines("file.domain.logging"), std::option::Option::Some(0));
|
||||
assert_eq!(guard.dropped_file_lines("file.domain.store"), std::option::Option::Some(0));
|
||||
assert_eq!(guard.dropped_file_lines("file.domain.any"), std::option::Option::Some(0));
|
||||
let dropped = guard.dropped_lines();
|
||||
assert_eq!(dropped.total(), dropped.console().saturating_add(dropped.file()));
|
||||
let second_initialize = ksp_logging_lib::initialize(&disabled);
|
||||
|
||||
Reference in New Issue
Block a user