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.
- temporary out of order -- please, contact the author directly
- 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.
IdeaThe 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.
LoggingCenterAgentcan be found through Directory Facilitator.
LoggingCenterAgentutilizes 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.
- Agent-based logging system (2006), Szczyrk [PDF]