Like the tail command line utility but with colors
C++ Shell C
Switch branches/tags
Nothing to show
Latest commit 3b7625e Feb 23, 2016 @joakim666 Merge pull request #17 from benkibbey/master
Valgrind fixes.
Permalink
Failed to load latest commit information.
example-conf Bumped version number to 0.3.4 Aug 1, 2012
.gitignore added .gitignore file Aug 1, 2012
AUTHORS Name and email address change. Jun 23, 2015
BUGS Name and email address change. Jun 23, 2015
COPYING initial import Nov 19, 2009
CfgFileParser.cc Fix memory leaks and Valgrind warnings. Feb 21, 2016
CfgFileParser.h Fix memory leaks and Valgrind warnings. Feb 21, 2016
ChangeLog Added reference to github commit history. Jun 23, 2015
ColorTail.cc Name and email address change. Jun 23, 2015
ColorTail.h Name and email address change. Jun 23, 2015
Colorizer.cc Fix memory leaks and Valgrind warnings. Feb 21, 2016
Colorizer.h Name and email address change. Jun 23, 2015
INSTALL initial import Nov 19, 2009
Info.cc Name and email address change. Jun 23, 2015
Info.h Name and email address change. Jun 23, 2015
Iterator.h Name and email address change. Jun 23, 2015
List.h Name and email address change. Jun 23, 2015
Makefile.am initial import Nov 19, 2009
Makefile.in Bumped version number to 0.3.4 Aug 1, 2012
NEWS initial import Nov 19, 2009
OptionsParser.cc Name and email address change. Jun 23, 2015
OptionsParser.h Name and email address change. Jun 23, 2015
README Name and email address change. Jun 23, 2015
TODO initial import Nov 19, 2009
TailFile.cc Fix memory leaks and Valgrind warnings. Feb 21, 2016
TailFile.h Another file truncation fix. Feb 13, 2016
Usage.cc Name and email address change. Jun 23, 2015
Usage.h Name and email address change. Jun 23, 2015
acconfig.h initial import Nov 19, 2009
aclocal.m4 Bumped version number to 0.3.4 Aug 1, 2012
autogen.sh autogen.sh: interpreter added Jun 7, 2015
config.h.in initial import Nov 19, 2009
configure.in Bumped version number to 0.3.4 Aug 1, 2012
install-sh initial import Nov 19, 2009
main.cc Don't try to catch SIGKILL. Feb 21, 2016
main.h Name and email address change. Jun 23, 2015
missing initial import Nov 19, 2009
mkinstalldirs initial import Nov 19, 2009
stamp-h.in initial import Nov 19, 2009

README

                                    Colortail
                                       0.3


------
This software is Copyright (C) 2009 by Joakim Ek 
<joakim@pjek.se>. I accept no responsibility for any damage this 
software may or may not do to your system - you use it completely at your 
own risk. This software comes under the GPL license. See the COPYING file 
for full legal details.
------

This file contains:

  1. Overview
  2. Background
  3. Features
  4. Installing
  5. Usage
  6. Standard disclaimer
  7. Bugs
  8. Thanks


1. OVERVIEW

Colortail works like tail but can optionally read one or more config files
where it's specified which patterns results in which colors.

Colortail uses regular expressions (see regex(7)) to determine which lines and 
parts of lines to print in which colors.


2. BACKGROUND

My thoughts about colortail started when I was running a 
tail -f -q /var/log/foo /var/log/bar in the background of my irc session and I
wanted to quickly see if something strange was going on. I wanted different
lines in different colors so it's easy to see what is happening. I searched on
the internet but didn't find any program that did what I wanted. So I started
to code on colortail. Version 0.1 didn't use regular expressions but instead 
had a somewhat DOSish config format with '*' and '?'. In 0.2 I changed to
regular expressions. After 0.2 I didn't do much with colortail for a long
while, but then I got a patch, that made it possible to print just parts of
lines in a color, I got some new inspiration but because the code was a big
mess I decided to do a rewrite in C++. I like the modularity that the C++
classes "forces" one to do. And because I've been brainwashed with Java in
school I find the object view the most natural.


3. FEATURES

OK, so what is this colortail thing good for?

I can't say that colortail is a substitute for tail, not yet anyway. Right
now colortail lacks some major features the tail has. But I'll add this 
features in the next releases.

BUT, colortail has something that tail lacks. The ability to do colored output.
How may this come in handy? Well, it's mostly useful then looking at log files
(it's what I use it for anyway, it may very well be other uses for it as well,
if you have found something that colortail is useful for please send a mail 
telling me of it). In the case of looking at log files I have configured
colortail to do this:
(standard log file made my syslog (/var/log/messages)):

(I split the line)

Aug  4 23:14:53 morrdusk kernel: Packet log: ppp-in DENY ppp0 PROTO=6 
[-1--] [--2---] [--3---] [--4--] [---5-----] [-----6--------] [--5--]

xxx.xx.xxx.xxx:xxxxx xxx.xxx.x.xxx:xx L=44 S=0x00 I=58022 F=0x4000 T=53
[-----7------][--5-] [------7-----][----------------5-----------------]

The above is colorized as this:
The [-1-] part is in magenta
The [-2-] part is in cyan
The [-3-] part is in green
The [-4-] part is in yellow
The [-5-] part is in brightblue
The [-6-] part is in brightred
The [-7-] part is in brightyellow


It may be hard to imagine how it looks but I think it looks better than the
all white output from tail. And I like to have all the more serious things 
colored in bright red color. It then only takes a glance to see that
something has happened and one can take a closer look at that line. I also have
all ip addresses in bright yellow so that they are easy to see.

This is in no way hardcoded, all is controlled in the configuration files. 
That can be one configuration file for each tail file then tailing more than 
one file or if only one configuration file is given it's used as a global
configuration file, affecting all the tail files.


4. INSTALLING

Colortail should work on most unix system that have g++. I have developed it
on a Redhat linux system. 
I have integrated a bsd patch I got for 0.2 but I may have added some 
strange code in the rewrite that bsd doesn't like.
There shouldn't be a problem on other systems, but if you have to change
something to get it to work on your system, please send me a patch.

To install colortail this should be enough:
From the toplevel colortail source tree directory:
  ./configure
  make
  su
  make install

After that you may want to copy and edit the example config files to some
other place. I have them in ~/.colortail/

If you don't have the GNU regex library, it can be found at
ftp.funet.fi/pub/gnu/prep/regex/


5. USAGE

Most options are easily understanded. The only somewhat strange option is
the -k option that specifies the config files so colortail knows what should
be printed in which color. 

If only one config file and one or more tail files is given the config file 
is treated as a global one, i.e.

colortail -k conf.global file1 file2 file3

Multiple config files are separated with a , and if one tail file shouldn't
have a config file just leave it blank, i.e.

colortail -k conf.file1,,conf.file3 file1 file2 file3


6. STANDARD DISCLAIMER

The author don't take any responsibility for any damage this program may do.
I'm doing this in my spare time. If you don't like this program don't use it.


7. BUGS

Please read the BUGS file. There I describe a very annoying bug that exists
in tail too. I haven't yet found anyway to fix this.
It you have a solution to that problem or if you have found another bug,
please send a mail to joakim@pjek.se


8. THANKS

Thanks to:
Joey Hess for multicolored lines patch.
Nic Bellamy for FreeBSD and OpenBSD compatability patch.
Edward Betts for making debian packages.
Justin Piszcz for extensive 64-bit testning.