Skip to content

Commit

Permalink
Adjusting based on PR feedback. Using string instead of usize. Changi…
Browse files Browse the repository at this point in the history
…ng name to log_level
  • Loading branch information
alexcottner committed Feb 3, 2025
1 parent 4dab9a4 commit 7587ba5
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Via environment variables:
- `METRICS_TARGET`: The host and port to send statsd metrics to. May be a
hostname like `"metrics.example.com:8125"` or an IP like
`"127.0.0.1:8125"`. Port is required. (default: `"localhost:8125"`)
- `MIN_LOG_LEVEL`: minimum log level for slog, higher levels will be filtered out. 0-6. 0 = Off, 1 = Critical, 2 = Error, 3 = Warning, 4 = Info, 5 = Debug, 6 = Trace. Defaults to 3.
- `LOG_LEVEL`: minimum log level for slog, higher levels will be filtered out. Defaults to `warning`. Options: `off, critical, error, warning, info, debug, trace`
- `PORT`: port number to bind to (default: `"8000"`)
- `SENTRY_DSN`: report errors to a Sentry instance (default: `""`)
- `SENTRY_ENV`: Sentry environment (default: `"production"`)
Expand Down
8 changes: 4 additions & 4 deletions src/logging.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,22 @@ use futures::{future, Future, FutureExt};
use slog::{self, Drain};
use slog_derive::KV;
use slog_mozlog_json::MozLogJson;
use std::{io, pin::Pin};
use std::{io, pin::Pin, str::FromStr};

use crate::endpoints::EndpointState;

pub fn get_logger<S: Into<String>>(
prefix: S,
human_logs: bool,
min_log_level: usize,
log_level: String,
) -> slog::Logger {
let prefix = prefix.into();
let drain = if human_logs {
let decorator = slog_term::TermDecorator::new().build();
let drain = slog_term::CompactFormat::new(decorator).build().fuse();
slog_async::Async::new(drain).build().fuse()
} else {
let log_level = slog::Level::from_usize(min_log_level);
let log_level_options = slog::Level::from_str(&log_level);
let drain = MozLogJson::new(io::stdout())
.logger_name(format!(
"{}-{}",
Expand All @@ -31,7 +31,7 @@ pub fn get_logger<S: Into<String>>(
))
.msg_type(prefix)
.build()
.filter_level(log_level.unwrap_or(slog::Level::Warning))
.filter_level(log_level_options.unwrap_or(slog::Level::Warning))
.fuse();
slog_async::Async::new(drain).build().fuse()
};
Expand Down
4 changes: 2 additions & 2 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ async fn main() -> Result<(), ClassifyError> {
host,
human_logs,
metrics_target,
min_log_level,
log_level,
port,
sentry_dsn,
sentry_env,
Expand All @@ -44,7 +44,7 @@ async fn main() -> Result<(), ClassifyError> {
..
} = Settings::load()?;

let app_log = logging::get_logger("app", human_logs, min_log_level);
let app_log = logging::get_logger("app", human_logs, log_level);

let metrics = Arc::new(
metrics::get_client(metrics_target, app_log.clone())
Expand Down
6 changes: 3 additions & 3 deletions src/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ fn default_version_file() -> PathBuf {
"./version.json".into()
}

fn default_log_level() -> usize {
3
fn default_log_level() -> String {
slog::Level::Warning.as_str().to_owned()
}

fn default_metrics_target() -> String {
Expand Down Expand Up @@ -62,7 +62,7 @@ pub struct Settings {
pub human_logs: bool,

#[serde(default = "default_log_level")]
pub min_log_level: usize,
pub log_level: String,

#[serde(default = "default_version_file")]
pub version_file: PathBuf,
Expand Down

0 comments on commit 7587ba5

Please sign in to comment.