<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
JBoss Logging Tooling
</h3>
<span style="margin-bottom: 10px;">
modified by <a href="http://community.jboss.org/people/jamezp">James Perkins</a> in <i>JBoss AS7 Development</i> - <a href="http://community.jboss.org/docs/DOC-16818">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p><strong><em style="font-family: arial,helvetica,sans-serif;">** Note: </em></strong><em style="font-family: arial,helvetica,sans-serif;">This document is currently targeted at JBoss Logging 3.0.0 Beta6-SNAPSHOT and JBoss Logging Tooling 1.0.0 Beta7-SNAPSHOT</em>.</p><h2 id="internal-source-marker_0.7750461012950522"></h2><p>JBoss Logging Tooling offers an easy way of giving your project multilingual support with little effort from you. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2>Dependencies</h2><ul><li>JBoss Logging 3</li><li>tools.jar or CodeModel (which can be found here <a class="jive-link-external-small" href="http://">http://codemodel.java.net/</a>)</li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2>Constraints</h2><p><strong style="vertical-align: baseline; color: #5b5b5b; font-size: 10pt; font-style: normal; font-family: arial,helvetica,sans-serif;">The following annotations are defined:</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="font-family: arial,helvetica,sans-serif; color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline; font-size: 10pt;"> </span> </p><ul><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.MessageBundle</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> - This annotation is attached to an interface which is intended to be a message bundle (a generic source of translated strings; i.e. there are no logging methods on the interface). Interfaces annotated with this annotation can be instantiated via the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">Messages.getBundle(InterfaceName.class)</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> method.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.MessageLogger</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> - This annotation is attached to an interface which is intended to act as a translating message logger. Such interfaces may include plain bundle messages as well as logger messages.  Interfaces annotated with this annotation can be instantiated via the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">Logger.getMessageLogger(InterfaceName.class, "category.name")</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> method.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.Message</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> - this annotation is attached to any interface method which corresponds to a message which may be translated.  This includes both simple messages and log messages.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.LogMessage</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> - this annotation is attached to log messages (in addition to </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">Message</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> above), and includes additional information such as the log level for the message.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.Cause</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> - this annotation is attached to a method parameter which should be considered to be the causing </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">java.lang.Throwable</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> (or subclass thereof).</span></span></li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="font-family: arial,helvetica,sans-serif; color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline; font-size: 10pt;"> </span> </p><p><strong style="vertical-align: baseline; color: #5b5b5b; font-size: 10pt; font-style: normal; font-family: arial,helvetica,sans-serif;">Message bundle interfaces must conform to these rules:</strong></p><ul><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">The message bundle annotation </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> specify a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">project code</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">All methods defined on the message bundle interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">must</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> have a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.Message </span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">annotation present, unless the method has the same name as another method on the interface and same number of parameters (minus the cause parameter) which has the annotation present.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">All methods defined on the message bundle interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">must</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> return either </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">java.lang.String</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> or one of its supertypes, </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">or</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">java.lang.Throwable</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> or one of its subtypes.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">All methods defined on the message bundle interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">must</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> accept a number of parameters consistent with the format string on the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">value</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> attribute of the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.Message</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> annotation. This assertion is complex to ascertain at compile-time, thus the no errors are shown at compile time.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">The </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.Cause</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> annotation may appear at most once on any given method's parameter list.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">If the method returns a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">java.lang.Throwable</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">, the parameter marked as </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@Cause</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> is passed in to that Throwable's constructor if it has such a parameter; if not, then it is passed in to the Throwable's </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">initCause()</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> method after the Throwable is constructed.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">If the method returns a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">java.lang.Throwable</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> </span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">the message of the Throwable will initialized with the message from the annotation if available.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">All of the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.Message</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> annotations found on methods on all message bundle interfaces with the same </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">project code</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> which specify an </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">id</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> must specify a unique number, </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">INHERIT</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">, or </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">NONE</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">.<br/></span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">A message bundle interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> extend other message bundle interfaces.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">A message bundle interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> extend </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">java.io.Serializable</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">; however, doing so is superfluous as the implementation class will implement this interface regardless.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">A message bundle interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may not</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> extend any other interfaces which do not fit the criteria specified above.</span></span></li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="font-family: arial,helvetica,sans-serif; color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline; font-size: 10pt;"> </span> </p><p><strong style="vertical-align: baseline; color: #5b5b5b; font-size: 10pt; font-style: normal; font-family: arial,helvetica,sans-serif;">Message logger interfaces must conform to the above rules, except:</strong></p><ul><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">A message logger interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may not</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> specify a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.MessageBundle</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> annotation; instead, it </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">must</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> specify a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.MessageLogger</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> annotation (which also has a property for </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">project code</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">).</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">Any method on a message logger interface </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> additionally specify a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.LogMessage</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> annotation. This annotation signifies that the method is a </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">logger method</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">All </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">logger methods must</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> be declared to return </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">void</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">A </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">logger method</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> have a specified log level in the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">level</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> property of the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@LogMessage </span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">annotation.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">If multiple methods of the same name exist, any number of them may have </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@LogMessage </span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">annotations.  Only methods so annotated are log message methods.  The rules regarding equally-named methods on message bundles continue to apply.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">Log methods with a parameter marked as </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@Cause</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> will pass that parameter in to the appropriate log method as the causing exception.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">Message logger interfaces </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> extend other message logger interfaces in addition to the rules for message bundle interfaces.</span></span></li><li><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;">Message logger interfaces </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">may</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> extend the </span><span style="color: #5b5b5b; font-weight: bold; font-style: normal; vertical-align: baseline;">@org.jboss.logging.BasicLogger</span><span style="color: #5b5b5b; font-weight: normal; font-style: normal; vertical-align: baseline;"> interface. All methods of the BasicLogger will be delegated to the logger being used for the log methods.</span></span></li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="vertical-align: baseline; color: #5b5b5b; font-size: 10pt; font-style: normal; font-family: arial,helvetica,sans-serif; font-weight: normal;"><strong>Parameter count rules:</strong><br/></span></p><p><strong> </strong>You should be aware parameters are counted a little differently than a normal overloaded method. The parameter count used for validation is comprised of a count of all the parameters minus the <strong>@Cause</strong> parameter.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h2>How to set it up in your project?</h2><p><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Using the logging tool requires minimal set-up. For a maven project, the JBoss Logging Tool library just needs to be in the build class path. The annotation processor must </span><span style="color: #000000; font-weight: bold; font-style: normal; vertical-align: baseline;">not</span><span style="color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;"> be disabled either.</span></span></p><p><span style="vertical-align: baseline; color: #000000; font-size: 10pt; font-style: normal; font-family: arial,helvetica,sans-serif; font-weight: normal;"><br/></span></p><pre class="jive-pre"><code class="jive-code jive-xml">
    <span class="jive-xml-tag"><build></span>
        <span class="jive-xml-tag"><plugins></span>
            <span class="jive-xml-tag"><plugin></span>
                <span class="jive-xml-tag"><groupId></span>org.apache.maven.plugins<span class="jive-xml-tag"></groupId></span>
                <span class="jive-xml-tag"><artifactId></span>maven-compiler-plugin<span class="jive-xml-tag"></artifactId></span>
                <span class="jive-xml-comment"><!-- Must be at least version 2.2 with a target of 1.6 to generate the source files in
                     target/generated-sources -->
                <span class="jive-xml-tag"><version></span>2.3.2<span class="jive-xml-tag"></version></span>
                <span class="jive-xml-tag"><configuration></span>
                    <span class="jive-xml-tag"><source></span>1.6<span class="jive-xml-tag"></source></span>
                    <span class="jive-xml-tag"><target></span>1.6<span class="jive-xml-tag"></target></span>
                    <span class="jive-xml-tag"><showWarnings></span>true<span class="jive-xml-tag"></showWarnings></span>
                    <!-- Optional if you wan to generate skeleton translation properties files --></span>
                    <span class="jive-xml-tag"><compilerArgument></span>
                        -AgeneratedTranslationFilesPath=${project.basedir}/target/generated-translation-files
                    <span class="jive-xml-tag"></compilerArgument></span>
                <span class="jive-xml-tag"></configuration></span>
            <span class="jive-xml-tag"></plugin></span>
        <span class="jive-xml-tag"></plugins></span>
    <span class="jive-xml-tag"></build></span>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="font-family: arial,helvetica,sans-serif; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline; font-size: 10pt;"> </span> </p><p><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">When using an Eclipse project follow the instructions here </span><a class="jive-link-external-small" href="http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_apt_getting_started.htm"><span style="color: #000099; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;">http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_apt_getting_started.htm</span></a><span style="color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;"> to enable annotation processing.</span></span></p><p><span style="vertical-align: baseline; color: #000000; font-size: 10pt; font-style: normal; font-family: arial,helvetica,sans-serif; font-weight: normal;"><br/></span></p><p><span style="font-family: arial,helvetica,sans-serif; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline; font-size: 10pt;">When using NetBeans as long as the library is in the class path, the annotations will automatically be processed.</span></p><p><span style="font-family: arial,helvetica,sans-serif; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline; font-size: 10pt;"><br/></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="font-family: arial,helvetica,sans-serif; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline; font-size: 10pt;"> </span> </p><p><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><span style="color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Intellij IDEA offers the following documentation to enable annotation processing. </span><a class="jive-link-external-small" href="http://www.jetbrains.com/idea/webhelp/compiler-annotation-processors.html"><span style="color: #000099; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;">http://www.jetbrains.com/idea/webhelp/compiler-annotation-processors.html</span></a><span style="color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;"> </span></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"> </span> </p><h2><br/>Example Code</h2><p>More examples to come, but for now is is a source repository of examples on how to create the interfaces for loggers and message bundles.</p><p><a class="jive-link-external-small" href="https://github.com/jamezp/jboss-logging-example">https://github.com/jamezp/jboss-logging-example</a></p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Comment by <a href="http://community.jboss.org/docs/DOC-16818">going to Community</a></p>
        <p style="margin: 0;">Create a new document in JBoss AS7 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2225">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>