Log4Tailer this time provides two more types of notifications: cornermark and filter. Cornermark is just a visual mark in the bottom right corner of the terminal that notifies you if something went wrong in the application you are monitoring. Let’s suppose you go out for a break and you don’t have enough permissions to make log4tailer use email notifications. Then, if you provide the cornermark option with the time you’ll be out of your desktop, it will notify you with a visual mark. As for the filter notification, it is just a combination of tail and grep. Other features provided are reporting to a file and silence mode without email notification. It fixes some minor problems as well. Tailing logs using colors, notifications and reporting will allow you to monitor applications in a more efficient way than just using tail.
You can download log4tailer from googlecode at http://code.google.com/p/log4tailer
The other day while browsing some audio files with Nautilus I saw that if you mantain the mouse pointer over an audio file icon, Ubuntu will play it back. Cool.
From time to time I wondered how to include source code in wordpress, and today I found the following link that tells how to do it 🙂
and this is how you would list the contents of a directory in a Linux/Unix system where the newest file is at the very bottom of the terminal (list files and folders sorting by modification time, reverse order):
I’ve been using rdiff-backup for quite a long time now for my backup purposses. rdiff-backup allows me to have my /home folder always in sync with an external usb hard drive. If for some reason I have to re-install operating system, it is just a question of 15 minutes of time; the time it takes to wipe the hard disk and put a Linux distro in it again. Ubuntu has been my main OS at work and at home for some years now. Before, I was a user of Debian and Fedora. For development purposes, Ubuntu gives unparalleled performance and tools. Saying that it is just a Debian operating system says it all, period. I develop in Python at work and for fun. Ubuntu is a great platform to develop in Python as it has most of the modules and packages in the official repositories, so it is just a question of apt-get them; as simple as that. Testing web apps in localhost is just awesome, and not to say having PostgreSQL or MySQL; again just apt-get them. Once you have practice with using VIM (or Emacs) and Test driven development ( a joy in Python ), you’ll be incredibly productive writing software in few time. To finish, most of my favourite apps in Linux are written in Python: Meld, Terminator, Log4tailer, Quodlibet or the same rdiff-backup just to name some of them.
Sometimes you need to assert log traces while writing tests, mostly functional tests (end to end) after you have setup several components by means of mocks. When executing nosetests it sets up automatically the logging and uses any handler you provide on your own.
Let’s say you have got a module in your tests folder including the following code:
then, in a test case you could end up writing something like:
Overall, it shows how easy it is to assert log traces in-memory while executing unittests. In a similar way you could patch the sys STDOUT with a mock object providing a write method and assert what is being written by means of print statements.
Log4tailer the opensource log monitor application I’m working on was released on its version 2.4 some weeks ago. Log4tailer has helped me to catch some undesirable log traces in many Java enterprise applications in my career.
I’ve seen many QA and test engineers failing to catch important information due to the white on black terminal foreground/background of the world famous Windows Putty terminal emulator and the tail Linux command line tool. Not their fault, but the lack of knowledge of the Linux OS and the fear of using other applications seem to scare some people. Professional applications (server side) tend to log thousands of logtraces very fast. This information is nearly impossible to follow unless you use a proper tool to spot specific traces and levels. Either you are a very fast reader (not very common) or you end up lost in a sea of white lines in a black background. In order to solve that problem, log4tailer use plenty of color combinations, pauses the output if a logtrace has been found, throttles the output, notifies you by email if you want to and at the end gives you a report. Of course, there are more features and possibilites.
Currently log4tailer is suffering some refactoring to fix some design problems when it was first written some more than three years ago. Documentation is provided in pdf as I began writing the documentation using LaTeX. If anyone would like to mantain a wiki, it would be really good.
Ubuntu lucid lynx does not have Python 2.4 and 2.5 runtimes available in the repositories, so if you are a developer and you are in need of those, then you have two options: One is try to find binaries somewhere else or just compile them from source. In this article, I’m going to point out the steps for compilation.
Go to python.org and download the sources for the version you want. In my case I download Python2.4 Untar the bz2 or gzip file. Go to Python-2.4.4 (my Python version) and cd into Modules. Edit the Setup file and uncomment those modules you need. Amongst them I uncommented the zlib module. You’ll need to install from repos the zlib1g-dev package and the Tcl/Tk one as well. I take for granted you’ve got g++ compiler as well as it is necessary. ./configure, make and sudo make install. Take into account that the python2.4 runtime will be installed in /usr/local/bin/python and /usr/local/bin/python2.4 In my case I deleted the “/usr/local/bin/python” leaving the “/usr/local/bin/python2.4” (both are the same) to avoid clashing with the python (2.6) in /usr/bin as apparently the shell looks first in /usr/local/bin.