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#[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}