eckit::SysLog class

SysLog implements the RFC 5424 format for logging.

Public types

enum Facility { Kernel = 0, User, Mail, SystemDaemon, Security, SysLogD, LinePrinter, NetworkNews, UUCP, Clock, Security2, FTP, NTP, LogAudit, LogAlert, Clock2, Local0, Local1, Local2, Local3, Local4, Local5, Local6, Local7 }
enum Severity { Emergency = 0, Alert, Critical, Error, Warning, Notice, Info, Debug }

Public static functions

static auto nilvalue() -> char

Constructors, destructors, conversion operators

SysLog(const std::string& msg, int msgid = 0, Facility f = SysLog::User, Severity s = SysLog::Info)
operator std::string() const

Public functions

auto priority() const -> unsigned
auto version() const -> unsigned
auto timestamp() const -> std::string
auto fqdn() const -> std::string
auto appName() const -> std::string
void appName(const std::string&)
auto procid() const -> int
auto msgid() const -> int
Follows some application classification therefore semantics is application dependent.
auto structuredData() const -> std::string
void software(const std::string& software)
Optional fields for structured data (RFC 5424 section 6.3)
void swVersion(const std::string& version)
void enterpriseId(const std::string& id)

Friends

auto operator<<(std::ostream& s, const SysLog& o) -> std::ostream&

Function documentation

int eckit::SysLog::procid() const

Not necessarily a pid, but for now we settled with that Semantics is application dependent