Skip to content

Instantly share code, notes, and snippets.

@jdrews
Forked from jdanbrown/log-color
Last active October 24, 2015 21:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jdrews/af970bb97e8d34978621 to your computer and use it in GitHub Desktop.
Save jdrews/af970bb97e8d34978621 to your computer and use it in GitHub Desktop.
log4j logs in color!
#!/bin/bash -eu
#
# Color log4j-style logs for easier visual parsing.
#
# Usage:
# tail foo.log | log-color
# run-service | log-color
export TERM=xterm-256color
black="` tput setaf 0; tput bold`"
red="` tput setaf 1; tput bold`"
green="` tput setaf 2; tput bold`"
yellow="` tput setaf 3; tput bold`"
bluebold="` tput setaf 4; tput bold`"
blue="` tput setaf 4; tput bold`"
lightblue="` tput setaf 27; tput bold`"
magenta="` tput setaf 5; tput bold`"
cyan="` tput setaf 6; tput bold`"
white="` tput setaf 7; tput bold`"
lightgrey="$(tput setaf 240)"
#off="` tput sgr0`"
off="` echo -ne "\x0f"`" # (Works better on both osx and linux...)
exec sed -r "
# Timestamps
s/^\[[0-9]{4}[^]]*\]/$lightgrey\\0$off/
s/^[0-9]{4}-[0-9:,/ -]*/$lightgrey\\0$off/
# Log levels
s/\\b(FATAL|CRITICAL).*\\b/$magenta\\0$off/g
s/\\bERROR.*\\b/$red\\0$off/g
s/\\bWARN(ING)?.*\\b/$yellow\\0$off/g
s/\\bINFO.*\\b/$green\\0$off/g
s/\\bDEBUG.*\\b/$lightblue\\0$off/g
s/\\bTRACE.*\\b/$cyan\\0$off/g
# Grouped things
s/ \[[^]]+\] \S+ - /$lightgrey\\0$off/
s/ \([a-zA-Z_][a-zA-Z0-9_$.:]*\)$/$lightgrey\\0$off/
"
@jdrews
Copy link
Author

jdrews commented Oct 24, 2015

Attached is an example of an activemq log using this script like so

tail -f activemq.log | log-color

screenshot_102415_052147_pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment