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 authored and Keksoj committed Jun 17, 2024
1 parent 8633521 commit c4839d1
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 @@ -883,7 +883,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 @@ -901,7 +901,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 @@ -919,29 +919,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 @@ -930,6 +930,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 @@ -236,6 +236,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 @@ -214,6 +214,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 c4839d1

Please sign in to comment.