forked from github-starred/komodo
move config entities to client for docs
This commit is contained in:
@@ -8,7 +8,9 @@ license.workspace = true
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
serde.workspace = true
|
||||
# local client
|
||||
monitor_client.workspace = true
|
||||
# external
|
||||
anyhow.workspace = true
|
||||
tracing.workspace = true
|
||||
opentelemetry.workspace = true
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use anyhow::Context;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use monitor_client::entities::logger::{LogConfig, StdioLogMode};
|
||||
use tracing::level_filters::LevelFilter;
|
||||
use tracing_subscriber::{
|
||||
layer::SubscriberExt, util::SubscriberInitExt,
|
||||
@@ -7,27 +7,6 @@ use tracing_subscriber::{
|
||||
|
||||
mod opentelemetry;
|
||||
|
||||
#[derive(Debug, Clone, Default, Deserialize)]
|
||||
pub struct LogConfig {
|
||||
/// The logging level. default: info
|
||||
#[serde(default)]
|
||||
pub level: LogLevel,
|
||||
|
||||
/// Controls logging to stdout / stderr
|
||||
#[serde(default)]
|
||||
pub stdio: StdioLogMode,
|
||||
|
||||
/// Enable opentelemetry exporting
|
||||
pub otlp_endpoint: Option<String>,
|
||||
|
||||
#[serde(default = "default_opentelemetry_service_name")]
|
||||
pub opentelemetry_service_name: String,
|
||||
}
|
||||
|
||||
fn default_opentelemetry_service_name() -> String {
|
||||
String::from("Monitor")
|
||||
}
|
||||
|
||||
pub fn init(config: &LogConfig) -> anyhow::Result<()> {
|
||||
let log_level: tracing::Level = config.level.into();
|
||||
|
||||
@@ -66,55 +45,3 @@ pub fn init(config: &LogConfig) -> anyhow::Result<()> {
|
||||
}
|
||||
.context("failed to init logger")
|
||||
}
|
||||
|
||||
#[derive(
|
||||
Debug,
|
||||
Clone,
|
||||
Copy,
|
||||
Default,
|
||||
PartialEq,
|
||||
Eq,
|
||||
Hash,
|
||||
Serialize,
|
||||
Deserialize,
|
||||
)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum LogLevel {
|
||||
Trace,
|
||||
Debug,
|
||||
#[default]
|
||||
Info,
|
||||
Warn,
|
||||
Error,
|
||||
}
|
||||
|
||||
impl From<LogLevel> for tracing::Level {
|
||||
fn from(value: LogLevel) -> Self {
|
||||
match value {
|
||||
LogLevel::Trace => tracing::Level::TRACE,
|
||||
LogLevel::Debug => tracing::Level::DEBUG,
|
||||
LogLevel::Info => tracing::Level::INFO,
|
||||
LogLevel::Warn => tracing::Level::WARN,
|
||||
LogLevel::Error => tracing::Level::ERROR,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(
|
||||
Debug,
|
||||
Clone,
|
||||
Copy,
|
||||
Default,
|
||||
PartialEq,
|
||||
Eq,
|
||||
Hash,
|
||||
Serialize,
|
||||
Deserialize,
|
||||
)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum StdioLogMode {
|
||||
#[default]
|
||||
Standard,
|
||||
Json,
|
||||
None,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user