<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">Hi </div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">I am using log back-1.0.13. Bellow is the output and sample java code I used to test log back with. noticed that I have an inner class how ever the log output always displays the class name as the outer class. Is there a way to set up log back so that it prints something like outer.inner ??? </div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">Also has anyone given any thought to defining an XSD file? This would allow my ice (eclipse) to catch a lot of configuration problems for me.</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">I really appreciate all the hard work everyone has put into this project</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">thanks in advance</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">andy</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">[SLF4JConsoleTest.java] [line 50] [thr main] [class SLF4JConsoleTest] [execute()] Test: INFO level message. </div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">[SLF4JConsoleTest.java] [line 53] [thr main] [class SLF4JConsoleTest] [execute()] Test: WARN level message. </div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">[SLF4JConsoleTest.java] [line 56] [thr main] [class SLF4JConsoleTest] [execute()] Test: ERROR level message. </div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">[SLF4JConsoleTest.java] [line 73] [thr main] [class SLF4JConsoleTest] [execute()] MyInnerClass: INFO level message. </div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">[SLF4JConsoleTest.java] [line 76] [thr main] [class SLF4JConsoleTest] [execute()] MyInnerClass: WARN level message. </div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">[SLF4JConsoleTest.java] [line 79] [thr main] [class SLF4JConsoleTest] [execute()] MyInnerClass: ERROR level message. </div></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><div style="margin: 0px; color: rgb(147, 33, 146); "><span style="color: #009193"><?</span><span style="color: #4e9192">xml</span><span style="color: #000000"> </span>version<span style="color: #000000">=</span><span style="color: #3933ff">"1.0"</span><span style="color: #000000"> </span>encoding<span style="color: #000000">=</span><span style="color: #3933ff">"UTF-8"</span><span style="color: #009193">?></span></div><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #009193"><</span>configuration<span style="color: #009193">></span></div><div style="margin: 0px; color: rgb(79, 118, 203); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><!-- </div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span><turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter"></div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span> < ! - -</div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span><a href="http://logback.qos.ch/manual/filters.html">http://logback.qos.ch/manual/filters.html</a></div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span><a href="http://logback.qos.ch/demo.html">http://logback.qos.ch/demo.html</a> </div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span> - - ></div><div style="margin: 0px; color: rgb(79, 118, 203); "> <span class="Apple-tab-span" style="white-space:pre"> </span> <Name>FORK_JOIN_MARKER_FILTER</Name></div><div style="margin: 0px; color: rgb(79, 118, 203); "> <span class="Apple-tab-span" style="white-space:pre"> </span> <Marker>FORK_JOIN_MARKER</Marker></div><div style="margin: 0px; color: rgb(79, 118, 203); "> <span class="Apple-tab-span" style="white-space:pre"> </span> <OnMismatch>DENY</OnMismatch></div><div style="margin: 0px; color: rgb(79, 118, 203); "> <span class="Apple-tab-span" style="white-space:pre"> </span> <OnMatch>ACCEPT</OnMatch></div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span></turboFilter> </div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span>--></div><div style="margin: 0px; color: rgb(57, 51, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #009193"><</span><span style="color: #4e9192">appender</span><span style="color: #000000"> </span><span style="color: #932192">name</span><span style="color: #000000">=</span>"STDOUT"<span style="color: #000000"> </span><span style="color: #932192">class</span><span style="color: #000000">=</span>"ch.qos.logback.core.ConsoleAppender"<span style="color: #009193">></span></div><div style="margin: 0px; color: rgb(57, 51, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #009193"><</span><span style="color: #4e9192">layout</span><span style="color: #000000"> </span><span style="color: #932192">class</span><span style="color: #000000">=</span>"ch.qos.logback.classic.PatternLayout"<span style="color: #009193">></span></div><div style="margin: 0px; color: rgb(79, 118, 203); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><!-- </div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span><Pattern>%5p %d{ISO8601} [%t] [%c{0}] [line %L] %m %n</Pattern></div><div style="margin: 0px; color: rgb(79, 118, 203); "><span class="Apple-tab-span" style="white-space:pre"> </span>--></div><div style="margin: 0px; "><span class="Apple-tab-span" style="white-space:pre"> </span><span style="color: #009193"><</span><span style="color: #4e9192">Pattern</span><span style="color: #009193">></span>[%15file] [line %4L] [<span style="text-decoration: underline">thr</span> %4t] [class %17c{0}] [%method\(\)] %m %n<span style="color: #009193"></</span><span style="color: #4e9192">Pattern</span><span style="color: #009193">></span><span class="Apple-tab-span" style="white-space:pre"> </span></div><p style="margin: 0px; min-height: 19px; "><span class="Apple-tab-span" style="white-space:pre"> </span><br class="webkit-block-placeholder"></p><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #009193"></</span>layout<span style="color: #009193">></span></div><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #009193"></</span>appender<span style="color: #009193">></span></div><div style="margin: 0px; min-height: 19px; "><br></div><div style="margin: 0px; color: rgb(57, 51, 255); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #009193"><</span><span style="color: #4e9192">root</span><span style="color: #000000"> </span><span style="color: #932192">level</span><span style="color: #000000">=</span>"INFO"<span style="color: #009193">></span></div><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #009193"><</span>appender-ref<span style="color: #000000"> </span><span style="color: #932192">ref</span><span style="color: #000000">=</span><span style="color: #3933ff">"STDOUT"</span><span style="color: #000000"> </span><span style="color: #009193">/></span></div><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre"> </span></span><span style="color: #009193"></</span>root<span style="color: #009193">></span></div><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #009193"></</span>configuration<span style="color: #009193">></span></div><div><span style="color: #009193"><br></span></div></div><div><br></div><div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "><span style="color: #931a68">public</span> <span style="color: #931a68">class</span> SLF4JConsoleTest {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">static</span> <span style="color: #931a68">final</span> Logger <span style="color: #0326cc">LOG</span> = LoggerFactory.getLogger(SLF4JConsoleTest.<span style="color: #931a68">class</span>);</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #4f76cb">/**</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(79, 118, 203); "> * <span style="color: #91afcb">@param</span> args</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(79, 118, 203); "> */</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">public</span> <span style="color: #931a68">static</span> <span style="color: #931a68">void</span> main(String[] args) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> SLF4JConsoleTest console = <span style="color: #931a68">new</span> SLF4JConsoleTest();</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> console.execute();</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">public</span> SLF4JConsoleTest() {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">public</span> <span style="color: #931a68">void</span> execute() {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isTraceEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.trace(</span>"Test: TRACE level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isDebugEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.debug(</span>"Test: DEBUG level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isInfoEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.info(</span>"Test: INFO level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isWarnEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.warn(</span>"Test: WARN level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isErrorEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.error(</span>"Test: ERROR level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> MyInnerClass mic = <span style="color: #931a68">new</span> MyInnerClass();</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> mic.execute();</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">public</span> <span style="color: #931a68">class</span> MyInnerClass {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">public</span> <span style="color: #931a68">void</span> execute() {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isTraceEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.trace(</span>"MyInnerClass: TRACE level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isDebugEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.debug(</span>"MyInnerClass: DEBUG level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isInfoEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.info(</span>"MyInnerClass: INFO level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isWarnEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.warn(</span>"MyInnerClass: WARN level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> <span style="color: #931a68">if</span> (<span style="color: #0326cc">LOG</span>.isErrorEnabled()) {</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; color: rgb(57, 51, 255); "><span style="color: #000000"> </span><span style="color: #0326cc">LOG</span><span style="color: #000000">.error(</span>"MyInnerClass: ERROR level message."<span style="color: #000000">);</span></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; "> }</div><div style="margin: 0px; font-size: 14px; font-family: Monaco; min-height: 19px; "><br></div><div style="margin: 0px; font-size: 14px; font-family: Monaco; ">}</div></div></body></html>