Skip to main content

AsyncSyslogApi

Trait AsyncSyslogApi 

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

Source

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

Requests to connect to remote server.

Source

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)

Source

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

Closes connection to the syslog server

Source

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!()]

Source

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

async fn reconnect(&mut 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 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".

Implementors§