pub trait AsyncSyslogApi<F: SyslogFormatter, D: AsyncSyslogDestination>:
Debug
+ Send
+ 'static {
// Required methods
async fn connectlog(&mut self) -> SyRes<()>;
fn set_logmask(&mut self, logmask: i32) -> i32;
async fn closelog(&mut self) -> SyRes<()>;
async fn vsyslog1(&mut self, pri: Priority, fmt: F) -> SyRes<()>;
fn change_identity(&mut self, ident: &str);
async fn reconnect(&mut self) -> SyRes<()>;
async fn update_tap_data(&mut self, tap_data: D) -> SyRes<()>;
}Expand description
An implementation for the syslog “style” message handling (base).
Required Methods§
Sourceasync fn connectlog(&mut self) -> SyRes<()>
async fn connectlog(&mut self) -> SyRes<()>
Requests to connect to remote server.
Sourcefn set_logmask(&mut self, logmask: i32) -> i32
fn set_logmask(&mut self, logmask: i32) -> i32
Sets the logmask to filter out the syslog calls.
See macroses [LOG_MASK] and [LOG_UPTO] to generate mask
§Example
LOG_MASK!(Priority::LOG_EMERG) | LOG_MASK!(Priority::LOG_ERROR)
or
~(LOG_MASK!(Priority::LOG_INFO)) LOG_UPTO!(Priority::LOG_ERROR)
Sourceasync fn vsyslog1(&mut self, pri: Priority, fmt: F) -> SyRes<()>
async fn vsyslog1(&mut self, pri: Priority, fmt: F) -> SyRes<()>
Similar to libc, syslog() sends data to syslog server.
§Arguments
-
pri- a priority Priority -
fmt- a formatted SyslogFormatter message. In C exists a functions with variable argumets amount. In Rust you should create your own macros like format!() or use format!()]
Sourcefn change_identity(&mut self, ident: &str)
fn change_identity(&mut self, ident: &str)
This function can be used to update the facility name, for example after fork().
§Arguments
ident- a new identity (up to 48 UTF8 chars)
Sourceasync fn reconnect(&mut self) -> SyRes<()>
async fn reconnect(&mut self) -> SyRes<()>
Re-opens the connection to the syslog server. Can be used to rotate logs(handle SIGHUP).
§Returns
-
Result::Ok - with empty inner type.
-
Result::Err - an error code and description
Sourceasync fn update_tap_data(&mut self, tap_data: D) -> SyRes<()>
async fn update_tap_data(&mut self, tap_data: D) -> SyRes<()>
Updates the instance’s socket. tap_data [TapTypeData] should be of
the same variant (type) as current.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".