syslog_heroku/
message.rs

1use std::string::String;
2use std::str::FromStr;
3
4use chrono::DateTime;
5use chrono::offset::FixedOffset;
6
7use severity::Severity;
8use parser::{ParseError, parse_message};
9
10/// Represents a message being send to a Heroku Log Drain
11#[derive(Clone, Debug)]
12pub struct Message {
13    pub severity: Severity,
14    pub timestamp: Option<DateTime<FixedOffset>>,
15    pub hostname: Option<String>,
16    pub appname: Option<String>,
17    pub procid: Option<String>,
18    pub msgid: Option<String>,
19    pub msg: String,
20}
21
22impl FromStr for Message {
23    type Err = ParseError;
24
25    fn from_str(s: &str) -> Result<Self, Self::Err> {
26        parse_message(s)
27    }
28}