Skip to content

Releases: jrockway/json-logs

jlog v0.0.8

06 Oct 23:44
v0.0.8
1556e95
Compare
Choose a tag to compare

One bugfix.

Changelog

  • e0dd33b bugfix: parse -A and -B correctly

jlog v0.0.7

09 Jul 03:08
Compare
Choose a tag to compare

This release lets you load jq modules from a configurable search path, and target regex matches to any combination of the log message, field keys, or field values.

Changelog

  • cae9e59 filter: allow regexps to match any combination of the message, field keys, and field values
  • c146a67 filter_test: more carefully test all the highlight cases
  • 85e49c6 fuzz: pass in fuzzing time with FUZZTIME
  • dfb3d9b go.mod: upgrade gojq
  • 4183ae0 jlog: add a tiny bit more test coverage
  • 06a87fc jlog: search ~/.jq in addition to ~/.jlog/.jq, etc.
  • db1002e jq: allow loading modules; implement highlight as go instead of jq code
  • 8268327 main: remove cargo-culted PassDoubleDash; we don't take any args

jlog v0.0.6

23 Jun 15:27
Compare
Choose a tag to compare

If you're on Linux or OS X, install with brew tap jrockway/tap; brew install jrockway/tap/jlog. Otherwise download your favorite binary below.

This release adds regular expression filtering (for those of you tired of writing a jq program like select($MSG|test("regexp"))) and match context (if jq or regexes filter lines, you can display context around them with -A, -B, -C, just like grep).

You can also now parse logs without times, messages, or levels. This let me add Pachyderm worker log support, which doesn't log with levels.

Finally, log messages that contain \r won't overwrite the beginning of the line. (Terminal control codes still make it through, though.)

Changelog

  • 6dd46ac Allow logs to be parsed without time/level/message
  • 50ad842 Avoid letting logs with '\r's corrupt the output
  • 5d35de5 WIP: regexp match/no match
  • 68278ee add a script to run all the fuzz tests a little bit
  • c81a3a1 add option to merge a field into the main set of fields; make lager use this; un-skip all integration tests; make integration tests emit ERROR type messages; wire in key deletion and upgrading; update docs
  • 423a10f context: use the line object instead of rendered strings (makes elide, subseconds-only mode, etc. work correctly)
  • b26461f experimental: show context of unfiltered lines
  • 3b37224 jlog: start factoring out some of main.go into a helper package, and test it
  • 4c5aa37 parse: Emit: pass a pointer to line with a request to not modify it
  • 18d824a parse: auto-guess Pachyderm worker log schema
  • 7ed8fe3 parse: test all filtering scenarios, with and without context
  • bf78e5e parsers: test the noop parsers

jlog v0.0.5

28 May 10:49
Compare
Choose a tag to compare

More fuzzing has been done, and I now have a homebrew tap: brew tap jrockway/tap; brew install jrockway/tap/jlog. The homebrew works on Linux, OS X, and supports all recent ARMs and ARM64s on both OSes.

Changelog

  • ff85fe8 main: add an option to print the version
  • 6d0541c main: print go build info
  • 0a575f8 main: print go info even in release builds

jlog v0.0.4

02 Jan 04:44
Compare
Choose a tag to compare

This release added some fuzz tests and fixed a crash they found. You can now read a file that contains the first line {"": 0}. We also handle longer lines now.

Unknown arguments will now trigger a failure at command line parsing time. This helpful when you forget the letter for the e option, and write jlog -l jq.program, which would previously work, but unexpectedly not run your jlog program. This is now an error.

A linter suggests buffering the SIGINT handling channel. I normally always do this, but didn't here, so now we do. Looking at the revision history, I didn't see a good reason to do it "wrong" here, so now it's right.

Changelog

84aa3aa goreleaser: build darwin/arm64 releases
49577ce main: buffer signal channel as per linter suggestion
9f9c049 main: complain if there are extra args (occasionally i use the wrong flag for -e; this makes the mistake clearer)
afd3863 parse: add some more fuzz tests (no interesting bugs found though)
77c8785 parse: fix a panic when printing a level without initalizing a level formatter
fa5644c parse: handle lines up to 1MiB long

jlog v0.0.3

02 May 01:53
Compare
Choose a tag to compare

This release adds support for logs that are designed to be read by Stackdriver and use an RFC3339 timestamp called time (in addition to the previously-supported timestamp field).

Changelog

925ba66 goreleaser: mod tidy instead of mod download
21e541c handle another possible stackdriver format
27dcc93 integration-tests: sanity check the parsed times a bit

jlog v0.0.2

09 Mar 20:13
Compare
Choose a tag to compare

Add support for parsing logs generated by bunyan.

Changelog

387cca0 add support for bunyan
f605840 go mod tidy

jlog v0.0.1

23 Nov 00:20
Compare
Choose a tag to compare

Initial release.