[][src]Crate syslog

Syslog

This crate provides facilities to send log messages via syslog. It supports Unix sockets for local syslog, UDP and TCP for remote servers.

Messages can be passed directly without modification, or in RFC 3164 or RFC 5424 format

The code is available on Github

Example

extern crate syslog;

use syslog::{Facility, Formatter3164};

fn main() {
    let formatter = Formatter3164 {
        facility: Facility::LOG_USER,
        hostname: None,
        process: "myprogram".into(),
        pid: 0,
    };

    match syslog::unix(formatter) {
        Err(e) => println!("impossible to connect to syslog: {:?}", e),
        Ok(mut writer) => {
            writer.err("hello world").expect("could not write error message");
        }
    }
}

It can be used directly with the log crate as follows:

extern crate syslog;
#[macro_use]
extern crate log;

use syslog::{Facility, Formatter3164, BasicLogger};
use log::{SetLoggerError, LevelFilter};

fn main() {
    let formatter = Formatter3164 {
        facility: Facility::LOG_USER,
        hostname: None,
        process: "myprogram".into(),
        pid: 0,
    };

    let logger = syslog::unix(formatter).expect("could not connect to syslog");
    log::set_boxed_logger(Box::new(BasicLogger::new(logger)))
            .map(|()| log::set_max_level(LevelFilter::Info));

    info!("hello world");
}

Structs

BasicLogger
Error

The Error type.

Formatter3164
Formatter5424
Logger

Main logging structure

Enums

ErrorKind

The kind of an error.

Facility
LoggerBackend
Severity

Traits

LogFormat
ResultExt

Additional methods for Result, for easy interaction with this crate.

Functions

init

Initializes logging subsystem for log crate

init_tcp

TCP Logger init function compatible with log crate

init_udp

UDP Logger init function compatible with log crate

init_unix

Unix socket Logger init function compatible with log crate

init_unix_custom

Unix socket Logger init function compatible with log crate and user provided socket path

tcp

returns a TCP logger connecting local and server

udp

returns a UDP logger connecting local and server

unix

Returns a Logger using unix socket to target local syslog ( using /dev/log or /var/run/syslog)

unix_custom

Returns a Logger using unix socket to target local syslog at user provided path

Type Definitions

Priority
Result

Convenient wrapper around std::Result.