[logback-user] Can I have level specific patterns?

Andrew E. Davidson adavidson2 at apple.com
Wed Apr 15 03:12:36 CEST 2015

Hi Ceki

> 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
> %debug(%level %d %t) %error(%level) %info(%level) %m%n
> See http://logback.qos.ch/manual/layouts.html#customConversionSpecifier
> for documentation on this topic.

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.  List<String> optionList = getOptionList(); gives me [%level %d %t] how ever the values have not been expanded

Your solution is very close to what I want to do. 

Thanks in advance


public class DebugConverter extends ClassicConverter {
    public DebugConverter() {
        // TODO Auto-generated constructor stub

    public String convert(ILoggingEvent event) {
     	List<String> optionList = getOptionList();
        Level level = event.getLevel();
        System.err.println("convert() level:" + level);
        return "DebugConverter.convert()";

	<conversionRule conversionWord="AST_DEBUG" 
                  converterClass="com.apple.ast.logging.converter.DebugConverter" />
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <pattern>%-5level %date{HH:mm:ss,SSS} [%thread] [%class{16}] [line:%L] %msg%n</pattern>
            <pattern>%AST_DEBUG{%level %d %t}  %m%n</pattern>

    <root level="DEBUG">
        <appender-ref ref="STDOUT" />

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20150414/5405283f/attachment.html>

More information about the Logback-user mailing list