Skip to main content

AsyncSyslogQueueApi

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".

Implementors§