grokevt-parselog(1)
π grokevt-parselog β the manual page, but make it make sense π
okay bestie, welcome to the grokevt-parselog(1) manual page β¨ this is a real Unix tool from the File Conversion Utilities fam, and I'm gonna walk you through every single flag like we're texting at 2am π«Ά
πΈ NAME πΈ
grokevt-parselog β parses a windows event log and generates human-readable output based on message resources stored in a database. periodt.
β¨ SYNOPSIS β¨
grokevt-parselog -?|--help
grokevt-parselog -l database-dir
grokevt-parselog -m database-dir log-type
grokevt-parselog [-v] [-H] [-h] database-dir log-type
π¦ DESCRIPTION π¦
so grokevt-parselog reads a windows event log (a .evt file, iykyk) and combines that info with message templates and other resources chillin' in a pre-generated database. then it prints the whole thing to stdout in comma-separated values (CSV) format. literally that's it, that's the vibe π
β οΈ real talk: the database has to be created first, by grokevt-builddb(1). no database, no party. π
π ARGUMENTS π
database-dirβ this is the directory where the database lives. currently, the actual log files from the original system are also stored in this directory tree. so it's giving organized, we love that for us πΈlog-typeβ this is the windows name for the log. by default windows ships with these logs:
Application
Security
System
but other software (third party girlies π) may have created more. use the -l option to print a list of all available log types. and heads up: the log names are case-sensitive. don't be out here typing application and wondering why nothing works, bestie π
π OPTIONS π
-?β prints a basic usage statement. short, sweet, iconic.--helpβ same as-?. twins fr fr.-lβ log list mode. lists the logs available in the specified database. it's giving menu π-mβ meta information mode. lists meta information stored in the header of the specified log file. does not print any actual log records. (format of output in this mode is still subject to change β so don't get too attached, it's lowkey in its flop era π« )-vβ verbose mode. prints status messages tostderr, which can be helpful for debugging. the way it just tells you things? obsessed.-hβ prints a header row at the top of the CSV output containing labels for each column. (this is the default behavior.) she's the main character, she shows up whether you ask or not π-Hβ disables the printing of a header row. useful whengrokevt-parselogis used in a script. no header, no problem, clean output energy β¨
π OUTPUT π
okay so the output format is compatible with programs (like spreadsheets π) that understand the de-facto CSV standard format β but it's additionally constrained in that each log entry is written to a single line. one entry, one line, no exceptions.
also, special characters and non-printable characters are encoded using a URL-like encoding format of "%XX" where XX are the hexadecimal digits of an encoded character. new line characters and other special characters, along with binary data, get encoded this way so that using grep(1) and similar command line tools stays easy. it's giving thoughtful π§
π EXAMPLES π
to list all available logs types stored in ~/example.grokevt:
grokevt-parselog -l ~/example.grokevt
to read the Application log from the database stored in ~/example.grokevt and print it to stdout:
grokevt-parselog ~/example.grokevt Application
to read the System log from the database stored in ~/example.grokevt and print it to stdout without a header, and with verbosity turned on:
grokevt-parselog -v -H ~/example.grokevt System
π BUGS π
- probably a few. this script has not been extensively tested with some guest platforms. not me being honest about my flaws π
- the file event log file format is pretty well understood and implemented, but some diabolical wrapped, dirty, or fragmentary logs may not be correctly parsed. diabolical. π
- unicode support is currently limited. any suggestions on how to better handle unicode output would be appreciated. please send help, and by help I mean patches π«Ά
π CREDITS π
originally written by Jamie French. converted to Python and extended by Timothy D. Morgan. Andreas Schuster has contributed greatly to the understanding of the event log format. legends, all of them β¨
π LICENSE π
please see the file "LICENSE" included with this software distribution.
this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License version 3 for more details.
fr fr, no warranty, bestie. read the GPLv3, it's giving legally binding π
π₯ SEE ALSO π₯
grokevt(7) grokevt-addlog(1) grokevt-builddb(1) grokevt-dumpmsgs(1) grokevt-findlogs(1) grokevt-ripdll(1)
and that's the whole page, bestie π this one's from the File Conversion Utilities, dated 20 June 2011, and it's filed under grokevt-parselog(1). go parse some logs, you absolute icon πβ¨
π¦ where this page comes from
- debian bookworm: grokevt 0.5.0-5 Β· GPL-3.0-or-later
- debian trixie: grokevt 0.5.0-6.1 Β· GPL-3.0-or-later
- ubuntu jammy: grokevt 0.5.0-5 Β· GPL-3.0-or-later
- ubuntu noble: grokevt 0.5.0-5 Β· GPL-3.0-or-later
- ubuntu questing: grokevt 0.5.0-6.1
- ubuntu resolute: grokevt 0.5.0-6.1build1 Β· GPL-3.0-or-later
- ubuntu stonking: grokevt 0.5.0-6.1build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms