pub trait AsyncSyslogQueueApi<F: SyslogFormatter, D: SyslogDestination>:
Debug
+ Send
+ 'static {
// Required methods
async fn a_connectlog(&mut self) -> SyRes<()>;
async fn a_setlogmask(&self, logmask: i32) -> SyRes<i32>;
async fn a_closelog(&self) -> SyRes<()>;
async fn a_syslog(&self, pri: Priority, fmt: F);
async fn a_change_identity(&self, ident: &str) -> SyRes<()>;
async fn a_reconnect(&self) -> SyRes<()>;
async fn a_update_tap_data(&self, tap_data: D) -> SyRes<()>;
}
Expand description
A syslog adapter to attach the async to sync queue.
Required Methods§
Sourceasync fn a_connectlog(&mut self) -> SyRes<()>
async fn a_connectlog(&mut self) -> SyRes<()>
Requests to connect to remote server.
Sourceasync fn a_setlogmask(&self, logmask: i32) -> SyRes<i32>
async fn a_setlogmask(&self, logmask: i32) -> SyRes<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 a_closelog(&self) -> SyRes<()>
async fn a_closelog(&self) -> SyRes<()>
Closes connection to the syslog server
Sourceasync fn a_change_identity(&self, ident: &str) -> SyRes<()>
async fn a_change_identity(&self, ident: &str) -> SyRes<()>
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 a_reconnect(&self) -> SyRes<()>
async fn a_reconnect(&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 a_update_tap_data(&self, tap_data: D) -> SyRes<()>
async fn a_update_tap_data(&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", so this trait is not object safe.