<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><span style="font-size: 12px;" class="">Hi Ceki</span></div><div class=""><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class=""><br class="">Alternatively, you could write a custom conversion specifier. If you had a specifier called %debug which output contents only for level DEBUG, and a %warn specifier which output contents only for level WARN and another specifier %ERROR which output contents for ERROR, your pattern could be written as<br class=""><br class="">%debug(%level %d %t) %error(%level) %info(%level) %m%n<br class=""><br class="">See <a href="http://logback.qos.ch/manual/layouts.html#customConversionSpecifier" class="">http://logback.qos.ch/manual/layouts.html#customConversionSpecifier</a><br class="">for documentation on this topic.<br class=""><br class=""></div></blockquote></div><br class=""><div class=""><div class=""><span style="font-size: 12px;" class="">I tried your “custom conversion specifier” approach. I think I am missing something. In your logback.xml it looks like you are able to pass arguments. I used a debugger how ever it did not appear like the the ILoggingEvent had anything particularly useful other then the level and thread Name values. <span style="font-family: Monaco;" class=""> </span><span style="font-family: Monaco;" class="">List<String> </span><span style="font-family: Monaco; text-decoration: underline; color: rgb(126, 80, 79);" class="">optionList</span><span style="font-family: Monaco;" class=""> = getOptionList(); gives me </span><span style="font-family: Monaco;" class="">[%level %d %t] how ever the values have not been expanded</span></span></div><div class=""><span style="font-size: 12px;" class=""><span style="font-family: Monaco;" class=""><br class=""></span></span></div><div class=""><font face="Monaco" class=""><span style="font-size: 12px;" class="">Your solution is very close to what I want to do. </span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 12px;" class=""><br class=""></span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 12px;" class="">Thanks in advance</span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 12px;" class=""><br class=""></span></font></div><div class=""><font face="Monaco" class=""><span style="font-size: 12px;" class="">Andy</span></font></div><div class=""><span style="font-size: 12px;" class=""><br class=""></span></div><div class=""><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class=""><span style="color: rgb(147, 26, 104);" class="">public</span> <span style="color: rgb(147, 26, 104);" class="">class</span> DebugConverter <span style="color: rgb(147, 26, 104);" class="">extends</span> ClassicConverter {</span></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class="">    <span style="color: rgb(147, 26, 104);" class="">public</span> DebugConverter() {</span></div><div style="margin: 0px; font-family: Monaco; color: rgb(78, 144, 114);" class=""><span style="font-size: 12px;" class=""><span style="color: rgb(0, 0, 0);" class="">        </span>// <span style="color: rgb(145, 175, 203);" class="">TODO</span> Auto-generated constructor stub</span></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class="">    }</span></div><div style="margin: 0px; font-family: Monaco; min-height: 25px;" class=""><span style="font-size: 12px;" class=""><br class=""></span></div><div style="margin: 0px; font-family: Monaco; color: rgb(119, 119, 119);" class=""><span style="font-size: 12px;" class=""><span style="color: rgb(0, 0, 0);" class="">    </span>@Override</span></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class="">    <span style="color: rgb(147, 26, 104);" class="">public</span> String convert(ILoggingEvent <span style="color: rgb(126, 80, 79);" class="">event</span>) {</span></div><div style="margin: 0px; font-family: Monaco;" class=""><div style="margin: 0px;" class=""><span style="font-size: 12px;" class="">     <span class="Apple-tab-span" style="white-space:pre">        </span>List<String> <span style="text-decoration: underline; color: rgb(126, 80, 79);" class="">optionList</span> = getOptionList();</span></div></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class="">       </span><span style="font-size: 12px;" class=""> </span><span style="font-size: 12px;" class="">Level</span><span style="font-size: 12px;" class=""> </span><span style="font-size: 12px; color: rgb(126, 80, 79);" class="">level</span><span style="font-size: 12px;" class=""> </span><span style="font-size: 12px;" class="">=</span><span style="font-size: 12px;" class=""> </span><span style="font-size: 12px; color: rgb(126, 80, 79);" class="">event</span><span style="font-size: 12px;" class="">.getLevel();</span></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class="">        System.<span style="color: rgb(3, 38, 204);" class="">err</span>.println(<span style="color: rgb(57, 51, 255);" class="">"convert() level:"</span> + <span style="color: rgb(126, 80, 79);" class="">level</span>);</span></div><div style="margin: 0px; font-family: Monaco; color: rgb(57, 51, 255);" class=""><span style="font-size: 12px;" class=""><span style="color: rgb(0, 0, 0);" class="">        </span><span style="color: rgb(147, 26, 104);" class="">return</span><span style="color: rgb(0, 0, 0);" class=""> </span>"DebugConverter.convert()"<span style="color: rgb(0, 0, 0);" class="">;</span></span></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class="">    }</span></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class="">}</span></div></div></div><div style="margin: 0px; font-family: Monaco;" class=""><span style="font-size: 12px;" class=""><br class=""></span></div><div style="margin: 0px; font-family: Monaco;" class=""><div style="margin: 0px; color: rgb(78, 145, 146);" class=""><span style="font-size: 12px;" class=""><span style="color: #009193" class=""><</span>configuration<span style="color: #009193" class="">></span></span></div><div style="margin: 0px; color: rgb(78, 145, 146);" class=""><span style="font-size: 12px;" class=""><span style="color: #000000" class=""><span class="Apple-tab-span" style="white-space:pre">    </span></span><span style="color: #009193" class=""><</span>conversionRule<span style="color: #000000" class=""> </span><span style="color: #932192" class="">conversionWord</span><span style="color: #000000" class="">=</span><span style="color: #3933ff" class="">"AST_DEBUG"</span><span style="color: #000000" class=""> </span></span></div><div style="margin: 0px; color: rgb(57, 51, 255);" class=""><span style="font-size: 12px;" class=""><span style="color: #000000" class="">                  </span><span style="color: #932192" class="">converterClass</span><span style="color: #000000" class="">=</span>"com.apple.ast.logging.converter.DebugConverter"<span style="color: #000000" class=""> </span><span style="color: #009193" class="">/></span></span></div><p style="margin: 0px; min-height: 25px;" class=""><span style="font-size: 12px;" class="">                  <br class="webkit-block-placeholder"></span></p><div style="margin: 0px; color: rgb(57, 51, 255);" class=""><span style="font-size: 12px;" class=""><span style="color: #000000" class="">    </span><span style="color: #009193" class=""><</span><span style="color: #4e9192" class="">appender</span><span style="color: #000000" class=""> </span><span style="color: #932192" class="">name</span><span style="color: #000000" class="">=</span>"STDOUT"<span style="color: #000000" class=""> </span><span style="color: #932192" class="">class</span><span style="color: #000000" class="">=</span>"ch.qos.logback.core.ConsoleAppender"<span style="color: #009193" class="">></span></span></div><div style="margin: 0px;" class=""><span style="font-size: 12px;" class="">        <span style="color: #009193" class=""><</span><span style="color: #4e9192" class="">encoder</span><span style="color: #009193" class="">></span></span></div><div style="margin: 0px;" class=""><span style="font-size: 12px;" class="">        <span class="Apple-tab-span" style="white-space:pre">                </span><span style="color: #4f76cb" class=""><!-- </span></span></div><div style="margin: 0px; color: rgb(79, 118, 203);" class=""><span style="font-size: 12px;" class="">            <pattern>%-5level %date{HH:mm:ss,SSS} [%thread] [%class{16}] [line:%L] %<span style="text-decoration: underline" class="">msg</span>%n</pattern></span></div><div style="margin: 0px; color: rgb(79, 118, 203);" class=""><span style="font-size: 12px;" class="">            --></span></div><div style="margin: 0px;" class=""><span style="font-size: 12px;" class="">           </span></div><div style="margin: 0px;" class=""><span style="font-size: 12px;" class="">            <span style="color: #009193" class=""><</span><span style="color: #4e9192" class="">pattern</span><span style="color: #009193" class="">></span>%AST_DEBUG<span style="color: rgb(79, 118, 203);" class="">{%level %d %t} </span> %m%n<span style="color: rgb(0, 145, 147);" class=""></</span><span style="color: rgb(78, 145, 146);" class="">pattern</span><span style="color: rgb(0, 145, 147);" class="">></span></span></div><div style="margin: 0px;" class=""><span style="font-size: 12px;" class="">        <span style="color: #009193" class=""></</span><span style="color: #4e9192" class="">encoder</span><span style="color: #009193" class="">></span></span></div><div style="margin: 0px; color: rgb(78, 145, 146);" class=""><span style="font-size: 12px;" class=""><span style="color: #000000" class="">    </span><span style="color: #009193" class=""></</span>appender<span style="color: #009193" class="">></span></span></div><div style="margin: 0px; min-height: 25px;" class=""><span style="font-size: 12px;" class=""><br class=""></span></div><div style="margin: 0px; color: rgb(57, 51, 255);" class=""><span style="font-size: 12px;" class=""><span style="color: #000000" class="">    </span><span style="color: #009193" class=""><</span><span style="color: #4e9192" class="">root</span><span style="color: #000000" class=""> </span><span style="color: #932192" class="">level</span><span style="color: #000000" class="">=</span>"DEBUG"<span style="color: #009193" class="">></span></span></div><div style="margin: 0px; color: rgb(78, 145, 146);" class=""><span style="font-size: 12px;" class=""><span style="color: #000000" class="">        </span><span style="color: #009193" class=""><</span>appender-ref<span style="color: #000000" class=""> </span><span style="color: #932192" class="">ref</span><span style="color: #000000" class="">=</span><span style="color: #3933ff" class="">"STDOUT"</span><span style="color: #000000" class=""> </span><span style="color: #009193" class="">/></span></span></div><div style="margin: 0px;" class=""><span style="font-size: 12px;" class="">    <span style="color: #009193" class=""></</span><span style="color: #4e9192" class="">root</span><span style="color: #009193" class="">></span></span></div><div style="margin: 0px; color: rgb(78, 145, 146);" class=""><span style="font-size: 12px;" class=""><span style="color: rgb(0, 145, 147);" class=""></</span>configuration<span style="color: rgb(0, 145, 147);" class="">></span></span></div><div class=""><span style="color: #009193" class=""><br class=""></span></div></div></body></html>