#[repr(C)]pub struct aws_logger_vtable {
pub log: Option<unsafe extern "C" fn(logger: *mut aws_logger, log_level: aws_log_level, subject: aws_log_subject_t, format: *const c_char, ...) -> c_int>,
pub get_log_level: Option<unsafe extern "C" fn(logger: *mut aws_logger, subject: aws_log_subject_t) -> aws_log_level>,
pub clean_up: Option<unsafe extern "C" fn(logger: *mut aws_logger)>,
pub set_log_level: Option<unsafe extern "C" fn(logger: *mut aws_logger, arg1: aws_log_level) -> c_int>,
}
Expand description
We separate the log level function from the log call itself so that we can do the filter check in the macros (see below)
By doing so, we make it so that the variadic format arguments are not even evaluated if the filter check does not succeed.
Fields
log: Option<unsafe extern "C" fn(logger: *mut aws_logger, log_level: aws_log_level, subject: aws_log_subject_t, format: *const c_char, ...) -> c_int>
get_log_level: Option<unsafe extern "C" fn(logger: *mut aws_logger, subject: aws_log_subject_t) -> aws_log_level>
clean_up: Option<unsafe extern "C" fn(logger: *mut aws_logger)>
set_log_level: Option<unsafe extern "C" fn(logger: *mut aws_logger, arg1: aws_log_level) -> c_int>
Trait Implementations
sourceimpl Clone for aws_logger_vtable
impl Clone for aws_logger_vtable
sourcefn clone(&self) -> aws_logger_vtable
fn clone(&self) -> aws_logger_vtable
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for aws_logger_vtable
impl Debug for aws_logger_vtable
sourceimpl Default for aws_logger_vtable
impl Default for aws_logger_vtable
sourcefn default() -> aws_logger_vtable
fn default() -> aws_logger_vtable
Returns the “default value” for a type. Read more
sourceimpl PartialEq<aws_logger_vtable> for aws_logger_vtable
impl PartialEq<aws_logger_vtable> for aws_logger_vtable
sourcefn eq(&self, other: &aws_logger_vtable) -> bool
fn eq(&self, other: &aws_logger_vtable) -> bool
impl Copy for aws_logger_vtable
impl Eq for aws_logger_vtable
impl StructuralEq for aws_logger_vtable
impl StructuralPartialEq for aws_logger_vtable
Auto Trait Implementations
impl RefUnwindSafe for aws_logger_vtable
impl Send for aws_logger_vtable
impl Sync for aws_logger_vtable
impl Unpin for aws_logger_vtable
impl UnwindSafe for aws_logger_vtable
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more