Ninetails
Ninetails is a purpose-built log watching service. It comes from a long history of working across macOS and Linux environments, supporting and administering different types of services and applications. For example, everyone who finds some of their day processing the output of log files, either as a developer or an administrator, you may see log lines like the below.

While these log lines are basic, you can run a grep
comment or sed
with some substations to highlight pieces of information that are important to you. While some logs are structured JSON or TOML, some are just plaintext, and it makes it harder to parse those logs. Ninetails supports all output formats.
In comparison, Ninetails gives us the ability to define a matching criteria either for the whole line, grep
style, or using RegEx
patterns. An example of the before an after is below.

Using Ninetails
Ninetails can run directly in the command line by taking stdin
or by referencing a file. It operates similar to tail
where it can read a byte buffer from a file as it’s modified. It currently does not support rotations on files or renames.
One huge benefit of Ninetails is the ability to use a per-project configuration file. We have a specific config file we add to the root of all of our projects, so everyone can get the same view when they’re debugging. Ninetails will automatically read the config relative to the local directory.
To get started with a configuration file, create a .ninetails.yml
file:
There are default colors available to use in your configuration. You can also add your own colors using a color:
block of key: value
.
BABYBLUE
BLUE
CLEAR
DARKGREY
GREEN
GREY
LIGHTGREY
LIGHTPINK
ORANGE
PINK
PURPLE
RED
RESET
WHITE
YELLOW
One of the benefits we get from using Ninetails is highlighting ERROR
’s with red and INFO
with green.

Gotta Catch ’em All!
You can get your hands on Ninetails by visiting the GitHub release page located at https://github.com/mikemackintosh/ninetails/releases.
Member discussion