log4sh runs along the same lines as the other excellent logging services from the Apache Software Foundation. It adds to that list the ability to integrate powerful logging capabilities into a shell script.

log4sh was originally developed to solve a logging problem I had in some of the production environments I have worked in where I either had too much logging, or not enough. Cron jobs in particular caused me the most headaches with their constant and annoying emails telling me that everything worked, or that nothing worked but not a detailed reason why. I now use log4sh in environments where logging from shell scripts is critical, but where I need more than just a simple "Hello, fix me!" type of logging message. If you like what you see, or have any suggestions on improvements, please feel free to drop me an email. If there is enough interest in the project, I will develop it further.

log4sh has been developed under the Bourne Again Shell (/bin/bash) on Linux, but great care has been taken to make sure it works under the default Bourne Shell of Solaris (/bin/sh) as this happens to be the primary production platform used by myself.

Tested Operating Systems

Tested Shells

  • Bourne Shell (sh)
  • BASH - GNU Bourne Again SHell (bash)
  • DASH (dash)
  • Korn Shell (ksh)
  • pdksh - the Public Domain Korn Shell (pdksh)


There are two current release series of log4sh available. The 1.4 series is the stable release, and it contains only bugfixes. It is considered stable enough for production use. The 1.5 series is meant for new features and is still under development. Generally, the 1.5 series should be stable enough to use in a production environment as it is run through unit testing before being released, but there are no guarantees that everything works so it would be best to test it out first.

The latest version of log4sh can be downloaded from the SourceForge Project Filelist. The test results can be found in the testresults directory. The earliest available are for the 1.3.7 release.

If you would like to verify the MD5 fingerprint (in case someone mistakenly modifies the values below) or verify the GPG signatures of the releases, they can be found in the releases directory. The files are signed with the kate.ward@forestent.com public key, and more information can be found on our GnuPG Info page.

Previous versions are available from our old releases page.

Stable Release

1.4.x Stable — SVN: browse, repository

Version Date MD5 Sum
1.4.2 Sat Jun 02 2007 b2177ab1f84a6cd91faf123bce74c899
1.4.1 Sun May 06 2007 1f4f3bf9b6c26380a276777e43c27a6e
1.4.0 Fri Jan 05 2007 b8cf7d33b0aaa0dcc8b0f6a6e4cb7f9c

Development Release

1.5.x Development — SVN: browse, repository

Version Date MD5 Sum Comments
1.5.0 Mon May 07 2007 4fc80cd6eab3b804e28e2ef73c349609 Known issues. Please use the HEAD version.



HTML documentation for the various log4sh releases.

| 1.5 | 1.4 | 1.3 | 1.2 |

Documentation is also included with the distribution in the doc directory.

Mailing Lists

A log4sh-users@lists.sourceforge.net mailing list now exists. Everyone is free to subscribe to the list.

Submitting Bugs

Bugs are managed using the bug tracking software of SourceForge. Feel free to view the outstanding bugs, or submit one of your own.


Examples and workarounds for log4sh

| 1.5 | 1.4 | 1.3 | 1.2 |



log4sh is licensed under the GNU Lesser General Public License (LGPL). The contents and copyright of this site and all provided source code are owned by Kate Ward.


A list of contributors is provided with each release (found as doc/contributors.txt). Many thanks go out to each of these individuals for finding bugs and/or providing patches.

Resources are gracefully provided by SourceForge.

Subpages (1): Old log4sh Releases