Skip to main content
Last updated October 12, 2012 09:30, by Guus der Kinderen
Feedicon  

Log4j JIRA-Appender Wiki

The content of this project can be used as a standard appender for the Apache Log4j logging framework. The appender provided by this project will (attempt to) log events as (or in) Atlassian JIRA issues.

Functionality

Only events that are logged on level ERROR (or higher) and were generated based on a Throwable are eligible for logging by this appender.

This appender keeps an internal cache of JIRA issues that have been created. If a previous event triggered this appender to create a JIRA issue, then comments on that issue (rather than a new JIRA issue) will be created for similar events. Events are deemed 'similar' if their stacktraces are identical. The exception message is explicitly not part of the identifying part of an event. The cache that is used to store events and corresponding JIRA keys is not persisted in any way. Cache entries will not survive a restart of the JVM. Additionally, events that have not been raised again for some time will be flushed from the cache.

Obtaining the distribution

There are two ways to get your hands on the code:

  1. Download it in the Downloads section of this site
  2. Checkout the project from the Source Code Repository and use maven to build the distributables ("mvn clean assembly:assembly" should do the trick).

Configuration

Adding the jar of this project (and its dependencies) to the classpath will allow you to use the class com.marviq.util.logging.JIRALog4jAppender as the base-class for an appender.

BEWARE! Logging straight to JIRA adds considerable overhead to your application. As with all appenders, this load is most likely added to the JVM instance that's also executing your application code. Consider this before you start using the Log4j-appender for JIRA!

A log4j Configuration Example is available. It shows how an asynchronous wrapper can be utilized to help prevent floods of issues and network traffic.

 
 
Close
loading
Please Confirm
Close