Trait SyslogApi

Source
pub trait SyslogApi:
    Debug
    + Send
    + 'static {
    // Required methods
    fn connectlog(&mut self) -> SyRes<()>;
    fn setlogmask(&self, logmask: i32) -> SyRes<i32>;
    fn closelog(&self) -> SyRes<()>;
    fn syslog(&self, pri: Priority, fmt: String);
    fn vsyslog<S: AsRef<str>>(&self, pri: Priority, fmt: S);
    fn change_identity(&self, ident: &str) -> SyRes<()>;
    fn reconnect(&self) -> SyRes<()>;
    fn update_tap_data(&self, tap_data: TapTypeData) -> SyRes<()>;
}

Required Methods§

Source

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

Source

fn 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

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

Closes connection to the syslog server

Source

fn syslog(&self, pri: Priority, fmt: String)

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<S: AsRef<str>>(&self, pri: Priority, fmt: S)

Sends message to syslog (same as syslog).

Source

fn 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

fn 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

fn update_tap_data(&self, tap_data: TapTypeData) -> 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§