The only way to parse syslog messages is by creating an empty message struct and calling its method. I don't think this is idiomatic go. Why not just have a generic parse() function which returns a message or a slice of messages from whatever was parsed?
Would a PR be welcome? Is the library still maintained? There's only one release (0.1.0)