diff --git a/Cargo.lock b/Cargo.lock index 2689050..b124f18 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -535,6 +535,15 @@ dependencies = [ "wit-bindgen-rt 0.42.1", ] +[[package]] +name = "fern" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4316185f709b23713e41e3195f90edef7fb00c3ed4adc79769cf09cc762a3b29" +dependencies = [ + "log", +] + [[package]] name = "fnv" version = "1.0.7" @@ -1661,8 +1670,10 @@ dependencies = [ name = "trusted-server-fastly" version = "0.1.0" dependencies = [ + "chrono", "error-stack", "fastly", + "fern", "futures", "log", "log-fastly", diff --git a/crates/fastly/Cargo.toml b/crates/fastly/Cargo.toml index d98e2b5..618bd06 100644 --- a/crates/fastly/Cargo.toml +++ b/crates/fastly/Cargo.toml @@ -4,8 +4,10 @@ version = "0.1.0" edition = "2021" [dependencies] +chrono = "0.4.41" error-stack = "0.5" fastly = "0.11.5" +fern = "0.7.1" futures = "0.3" log = "0.4.20" log-fastly = "0.11.5" diff --git a/crates/fastly/src/main.rs b/crates/fastly/src/main.rs index 3381c41..1e71749 100644 --- a/crates/fastly/src/main.rs +++ b/crates/fastly/src/main.rs @@ -1,6 +1,6 @@ use fastly::http::{header, Method, StatusCode}; use fastly::{Error, Request, Response}; -use log::LevelFilter::Info; +use log_fastly::Logger; mod error; use crate::error::to_error_response; @@ -20,7 +20,7 @@ use trusted_server_common::why::handle_why_trusted_server; #[fastly::main] fn main(req: Request) -> Result { - log_fastly::init_simple("mylogs", Info); + init_logger(); let settings = match Settings::new() { Ok(s) => s, @@ -83,3 +83,25 @@ fn not_found_response() -> Response { .with_header(header::CONTENT_TYPE, "text/plain") .with_header(HEADER_X_COMPRESS_HINT, "on") } + +fn init_logger() { + let logger = Logger::builder() + .default_endpoint("tslog") + .echo_stdout(true) + .max_level(log::LevelFilter::Debug) + .build() + .expect("Failed to build Logger"); + + fern::Dispatch::new() + .format(|out, message, record| { + out.finish(format_args!( + "{} {} {}", + chrono::Local::now().to_rfc3339_opts(chrono::SecondsFormat::Millis, true), + record.level(), + message + )) + }) + .chain(Box::new(logger) as Box) + .apply() + .expect("Failed to initialize logger"); +}