Log4JADE    Agent-based Logging Service

Download

Log4JADE 1.0 Java Source and Binaries

What for ?

Debugging agent systems is a challenging endeavor as they are complex, dynamic and error-prone. While the notion of debugging can be understood in a broad context, our aim was to create a debugging system which supports agent developers, who can be distributed across multiple locations, by letting them know what type of an error occurred and where it happened. The proposed system, Log4JADE, was implemented on top of JADE agent platform, and is based on a commonly-used Log4j library.

Log4JADE is licensed under the General Public License.

Authors:

Mailing lists:

  • temporary out of order -- please, contact the author directly

Advantages

  • Extended localization info
    Locale context of the agent (the container name, the host and the team where it belongs to) is logged into logs:
  • Client for browsing and filtering logs
    Chainsaw client form Log4j project can be used in order to browse logging events, stored in file or incoming at run-time. Filters lets the developer find particular agents, e.g. from the specified team.
  • Dynamic attaching of logging service and normative agents
    Log4JADE utilizes service of "yellow-pages" from JADE (Directory Facilitator) for discovering new clients and servers of logging service.
  • Simplicity of use and rich configuration
    The service utilizes two fundamental features of log4j library: unifed method for insterting debug statements into code and convinient seperation between source code and configuration files.

Idea

The idea of the service is based on distributed nature multi-agent system, where both agent generating logging events and agent gathering those events (LoggingServiceAgent) are distributed over many machines. LoggingCenterAgent can be found through Directory Facilitator. LoggingCenterAgent utilizes appenders (from log4j architecture), which can forward gathered log events to specified files, network sockets (and so Chainsaw clients), databases, IM clients (e.g. jabber) etc., accordingly to configuration files.

Technical reports

  • Agent-based logging system (2006), Szczyrk [PDF]

Quick tutorial

Quick tutorial can be found here.

Java API

Here you may see the API of the service.

Acknowledgements

Work on this project was supported by a Marie Curie IRG Grant (E-CAP project). Author would like to thank Ruth Zamorano and Rafael Luque for their great article about creating own Appenders ("Instant logging: Harness the power of log4j with Jabber"); Caire Giovanni (from the JADE team), Patrick Walte and Jaran Nilsen for important suggestions and code snippets of the LoggingServiceAgent; Gabriel George Popa for testing of the solution.
 
Design by Plain Black. Used with permission from the WebGUI open source content management project.