jmcclell / syslogparser Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jeromer/syslogparser
A Syslog parser for the Go programming language
License: BSD 2-Clause "Simplified" License
This project forked from jeromer/syslogparser
A Syslog parser for the Go programming language
License: BSD 2-Clause "Simplified" License
Syslogparser ============ This is a syslog parser for the Go programming language. Installing ---------- go get github.com/jeromer/syslogparser Supported RFCs -------------- RFC 3164 : https://tools.ietf.org/html/rfc3164 RFC 5424 : https://tools.ietf.org/html/rfc5424 Not all features described in RFCs above are supported but only the most part of it. For exaple SDIDs are not supported in RFC5424 and STRUCTURED-DATA are parsed as a whole string. This parser should solve 80% of use cases. If your use cases are in the 20% remaining ones I would recommend you to fully test what you want to achieve and provide a patch if you want. Parsing an RFC 3164 syslog message ---------------------------------- b := "<34>Oct 11 22:14:15 mymachine su: 'su root' failed for lonvick on /dev/pts/8" buff := []byte(b) p := rfc3164.NewParser(buff) err := p.Parse() if err != nil { panic(err) } for k, v := range p.Dump() { fmt.Println(k, ":", v) } You should see timestamp : 2013-10-11 22:14:15 +0000 UTC hostname : mymachine tag : su content : 'su root' failed for lonvick on /dev/pts/8 priority : 34 facility : 4 severity : 2 Parsing an RFC 5424 syslog message ---------------------------------- b := `<165>1 2003-10-11T22:14:15.003Z mymachine.example.com evntslog - ID47 [exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"] An application event log entry...` buff := []byte(b) p := rfc5424.NewParser(buff) err := p.Parse() if err != nil { panic(err) } for k, v := range p.Dump() { fmt.Println(k, ":", v) } You should see version : 1 timestamp : 2003-10-11 22:14:15.003 +0000 UTC app_name : evntslog msg_id : ID47 message : An application event log entry... priority : 165 facility : 20 severity : 5 hostname : mymachine.example.com proc_id : - structured_data : [exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"] Running tests ------------- make tests Running benchmarks ------------------ make benchmarks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.