Skip to content

Commit

Permalink
Move unsent-access-logs metric increment out of sozu_command_lib
Browse files Browse the repository at this point in the history
Signed-off-by: Eloi DEMOLIS <[email protected]>
  • Loading branch information
Wonshtrum committed May 6, 2024
1 parent b2aa1cf commit 324b7b3
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 8 deletions.
16 changes: 8 additions & 8 deletions command/src/logging/logs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -877,7 +877,7 @@ macro_rules! _log {

#[macro_export]
macro_rules! _log_access {
($lvl:expr, $($request_record_fields:tt)*) => {{
($lvl:expr, $on_failure:block, $($request_record_fields:tt)*) => {{
$crate::logging::LOGGER.with(|logger| {
let success = {
let mut logger = $crate::_log_enabled!(logger, $lvl);
Expand All @@ -895,7 +895,7 @@ macro_rules! _log_access {
if !success {
// recording this metric may borrow the logger, so we have
// to perform this action after the block above
incr!("unsent-access-logs");
$on_failure
}
});
}};
Expand All @@ -913,29 +913,29 @@ macro_rules! _structured_access_log {
#[macro_export]
/// dynamically chose between info_access and error_access
macro_rules! log_access {
($error:expr, $($request_record_fields:tt)*) => {
($error:expr, on_failure: $on_failure:block, $($request_record_fields:tt)*) => {
let lvl = if $error {
$crate::logging::LogLevel::Error
} else {
$crate::logging::LogLevel::Info
};
_log_access!(lvl, $($request_record_fields)*);
_log_access!(lvl, $on_failure, $($request_record_fields)*);
};
}

/// log a failure concerning an HTTP or TCP request
#[macro_export]
macro_rules! error_access {
($($request_record_fields:tt)*) => {
$crate::_log_access!($crate::logging::LogLevel::Error, $($request_record_fields)*);
(on_failure: $on_failure:block, $($request_record_fields:tt)*) => {
$crate::_log_access!($crate::logging::LogLevel::Error, $on_failure, $($request_record_fields)*);
};
}

/// log the success of an HTTP or TCP request
#[macro_export]
macro_rules! info_access {
($($request_record_fields:tt)*) => {
$crate::_log_access!($crate::logging::LogLevel::Info, $($request_record_fields)*);
(on_failure: $on_failure:block, $($request_record_fields:tt)*) => {
$crate::_log_access!($crate::logging::LogLevel::Info, $on_failure, $($request_record_fields)*);
};
}

Expand Down
1 change: 1 addition & 0 deletions lib/src/protocol/kawa_h1/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -924,6 +924,7 @@ impl<Front: SocketHandler, L: ListenerHandler + L7ListenerHandler> Http<Front, L

log_access! {
error,
on_failure: { incr!("unsent-access-logs") },
message: message,
context,
session_address: self.get_session_address(),
Expand Down
1 change: 1 addition & 0 deletions lib/src/protocol/pipe.rs
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@ impl<Front: SocketHandler, L: ListenerHandler> Pipe<Front, L> {
metrics.register_end_of_session(&context);
log_access!(
error,
on_failure: { incr!("unsent-access-logs") },
message,
context,
session_address: self.get_session_address(),
Expand Down
1 change: 1 addition & 0 deletions lib/src/tcp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ impl TcpSession {
let context = self.log_context();
self.metrics.register_end_of_session(&context);
info_access!(
on_failure: { incr!("unsent-access-logs") },
message: None,
context,
session_address: self.frontend_address,
Expand Down

0 comments on commit 324b7b3

Please sign in to comment.