Java NamedConverter-class And Method Code Example


The NamedConverter class is a part of the Logback library that can be used to include specific information about a named element, such as a logger or thread, in the log message.

Here is an example of how you might use the NamedConverter in a Logback configuration file:

<configuration>
  <conversionRule conversionWord="logger" converterClass="ch.qos.logback.classic.pattern.NamedConverter" >
    <name>logger</name>
  </conversionRule>
  
  <conversionRule conversionWord="thread" converterClass="ch.qos.logback.classic.pattern.NamedConverter" >
    <name>thread</name>
  </conversionRule>

  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} %logger %thread %msg%n</pattern>
    </encoder>
  </appender>

  <root level="debug">
    <appender-ref ref="CONSOLE" />
  </root>
</configuration>

This configuration file sets up a CONSOLE appender that outputs log messages in the format "%d{HH:mm:ss.SSS} %logger %thread %msg%n". The %logger and %thread parts of the pattern are where the information about the logger and thread respectively is inserted into the log message. The NamedConverter is used to retrieve the information of logger and thread respectively.

You can also use NamedConverter to retrieve other named elements like contextName, caller, etc by changing the name attribute of the conversion rule accordingly.

Please note that, the output will be written to the console in this example, you can use file based appender to output the logs to a file. And you can refer to the logback documentation for more information and options available.