Trait AsyncSyslogApi

Source
pub trait AsyncSyslogApi:
    Debug
    + Send
    + 'static {
    // Required methods
    fn connectlog<'life0, 'async_trait>(
        &'life0 mut self,
    ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn setlogmask<'life0, 'async_trait>(
        &'life0 self,
        logmask: i32,
    ) -> Pin<Box<dyn Future<Output = SyRes<i32>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn closelog<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn syslog<'life0, 'async_trait>(
        &'life0 self,
        pri: Priority,
        fmt: String,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn vsyslog<'life0, 'life1, 'async_trait>(
        &'life0 self,
        pri: Priority,
        fmt: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn change_identity<'life0, 'life1, 'async_trait>(
        &'life0 self,
        ident: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn reconnect<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn update_tap_data<'life0, 'async_trait>(
        &'life0 self,
        tap_data: TapTypeData,
    ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

An implementation for the syslog “style” message handling.

Required Methods§

Source

fn connectlog<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Requests to connect to remote server.

Source

fn setlogmask<'life0, 'async_trait>( &'life0 self, logmask: i32, ) -> Pin<Box<dyn Future<Output = SyRes<i32>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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

fn closelog<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Closes connection to the syslog server

Source

fn syslog<'life0, 'async_trait>( &'life0 self, pri: Priority, fmt: String, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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

fn vsyslog<'life0, 'life1, 'async_trait>( &'life0 self, pri: Priority, fmt: &'life1 str, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Sends message to syslog (same as syslog).

Source

fn change_identity<'life0, 'life1, 'async_trait>( &'life0 self, ident: &'life1 str, ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

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

fn reconnect<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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

§Returns

A Result is retured as SyRes.

Source

fn update_tap_data<'life0, 'async_trait>( &'life0 self, tap_data: TapTypeData, ) -> Pin<Box<dyn Future<Output = SyRes<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Updates the instance’s socket. tap_data TapTypeData should be of the same variant (type) as current.

Implementors§