diff options
Diffstat (limited to 'ofborg/tickborg/src/lib.rs')
| -rw-r--r-- | ofborg/tickborg/src/lib.rs | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/ofborg/tickborg/src/lib.rs b/ofborg/tickborg/src/lib.rs new file mode 100644 index 0000000000..313ff34ebd --- /dev/null +++ b/ofborg/tickborg/src/lib.rs @@ -0,0 +1,103 @@ +#![recursion_limit = "512"] +// Replacing .map(|arch| arch.to_string()) +// with .map(systems::System::to_string) +// +// seems much less clear and I just don't like it :) +#![allow(clippy::redundant_closure)] + +use std::env; + +use tracing_subscriber::EnvFilter; +use tracing_subscriber::prelude::*; + +pub mod acl; +pub mod asynccmd; +pub mod buildtool; +pub mod checkout; +pub mod clone; +pub mod commentparser; +pub mod commitstatus; +pub mod config; +pub mod easyamqp; +pub mod easylapin; +pub mod evalchecker; +pub mod files; +pub mod ghevent; +pub mod locks; +pub mod message; +pub mod notifyworker; +pub mod stats; +pub mod systems; +pub mod tagger; +pub mod tasks; +pub mod test_scratch; +pub mod worker; +pub mod writetoline; + +pub mod tickborg { + pub use crate::acl; + pub use crate::asynccmd; + pub use crate::buildtool; + pub use crate::checkout; + pub use crate::clone; + pub use crate::commentparser; + pub use crate::commitstatus; + pub use crate::config; + pub use crate::easyamqp; + pub use crate::evalchecker; + pub use crate::files; + pub use crate::ghevent; + pub use crate::locks; + pub use crate::message; + pub use crate::notifyworker; + pub use crate::stats; + pub use crate::systems; + pub use crate::tagger; + pub use crate::tasks; + pub use crate::test_scratch; + pub use crate::worker; + pub use crate::writetoline; + + pub const VERSION: &str = env!("CARGO_PKG_VERSION"); + + pub fn partition_result<A, B>(results: Vec<Result<A, B>>) -> (Vec<A>, Vec<B>) { + let mut ok = Vec::new(); + let mut err = Vec::new(); + for result in results.into_iter() { + match result { + Ok(x) => { + ok.push(x); + } + Err(x) => { + err.push(x); + } + } + } + + (ok, err) + } +} + +pub fn setup_log() { + let filter_layer = EnvFilter::try_from_default_env() + .or_else(|_| EnvFilter::try_new("info")) + .unwrap(); + + let log_json = env::var("RUST_LOG_JSON").is_ok_and(|s| s == "1"); + + if log_json { + let fmt_layer = tracing_subscriber::fmt::layer().json(); + tracing_subscriber::registry() + .with(filter_layer) + .with(fmt_layer) + .init(); + } else { + let fmt_layer = tracing_subscriber::fmt::layer(); + tracing_subscriber::registry() + .with(filter_layer) + .with(fmt_layer) + .init(); + } + + tracing::info!("Logging configured"); +} |
