Alog README
===========

Alog is a stackable logging framework for Ada. It aims to be straight forward to
use and is easily extendable. It provides support for various logger types, log
facilities, loglevel policies and message transformations.


Prerequisites
-------------
Alog is written in Ada so you need to have GNAT installed to compile Alog. The
library comes in two flavours: base and full.
The base build includes facilities to log to files and syslog while the full
version provides more advanced log facilities like SMTP, Jabber/XMPP or
PostgreSQL. For the full version you need to have AWS (Ada Web Server) and APQ
(Ada95 database binding) installed (see the 'Installation' section).

GNAT is available for most distributions. Since Alog uses pedantic compiler
flags to check the code, make sure you have gnat version 4.3 or later installed
on your system.


Download
--------

Release version
~~~~~~~~~~~~~~~
The current release version of alog is available at
http://www.codelabs.ch/download. The API documentation of the current release
can be found at http://www.codelabs.ch/alog/api.

Verify a Release
~~~~~~~~~~~~~~~~
To verify the integrity and authenticity of the distribution tarball, import
the key http://www.codelabs.ch/keys/0x3DC359DEpub.asc and type the following
command:

  $ gpg --verify libalog-{version}.tar.bz2.sig

The key fingerprint of the public key ('0x3DC359DE') is:

  Key fingerprint = 752C 4EBC 115D 5EAD 75F7  0F34 A0AE 8AD7 3DC3 59DE

Development version
~~~~~~~~~~~~~~~~~~~
The current development version of alog is available through its git repository:

  $ git clone http://git.codelabs.ch/git/alog.git

A browsable version of the repository is also available here:
http://git.codelabs.ch/?p=alog.git


Installation
------------
The base build of Alog has no special library dependencies. To run the testcases
(for both builds), you need to have the Ahven Unit Test-Framework installed:

* Ahven (Test-Framework):
  http://ahven.stronglytyped.org/

To compile the full build, you further need to have the following libraries
installed on your system:

* AWS (Ada Web Server):
  http://libre.adacore.com/libre/tools/aws/

* APQ (Ada95 database binding):
  http://framework.kow.com.br/projects/show/apq

The building and installation process of Alog is simple. Just type in the
following commands. You must be root to install the library system wide.

  $ tar -xzf libalog-{version}.tar.bz2
  $ cd libalog-{version}
  $ make
  $ make PREFIX=/usr/local install

This will compile and install the base build (default). To do a full build, you
need to set and export the environment variable `TARGET` to "full" like so:

  $ export TARGET=full
  $ make
  $ make PREFIX=/usr/local install

If no `PREFIX` is specified, `$(HOME)/libraries` is used as installation
directory.


Tests
-----
After compiling and linking Alog, you can test if everything works as
expected by typing the following command:

  $ make tests

You should then see `PASS` behind each of the tests.
