Trait AsyncSyslogQueueApi

Source
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§

Source

async fn a_connectlog(&mut self) -> SyRes<()>

Requests to connect to remote server.

Source

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)

Source

async fn a_closelog(&self) -> SyRes<()>

Closes connection to the syslog server

Source

async fn a_syslog(&self, pri: Priority, fmt: F)

Similar to libc, syslog() sends data to syslog server.

§Arguments
  • pri - a priority Priority

  • fmt - a string message. In C exists a functions with variable argumets amount. In Rust you should create your own macros like format!() or use format!()]

Source

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)
Source

async fn a_reconnect(&self) -> SyRes<()>

Re-opens the connection to the syslog server. Can be used to rotate logs(handle SIGHUP).

§Returns

A Result is retured as SyRes.

Source

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.

Implementors§