1

I need to replace standard logback stacktrace output with org.apache.commons.lang.exception.ExceptionUtils#getStackTrace() output. I read about converters, but I want to do the same without writing java class, just by editing logback.xml. Is there any way to do this?

Piece of my logback.xml:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>INFO</level>
    </filter>

    <encoder>
        <pattern>%d %-5level %logger{0} \(%thread\) %m%ex%n</pattern>
    </encoder>
</appender>
seenukarthi
  • 8,241
  • 10
  • 47
  • 68

1 Answers1

0

No Custom Code:

Use throwable converter in logstash-logback-encoder

https://github.com/logstash/logstash-logback-encoder/tree/main/src/main/java/net/logstash/logback/stacktrace

Example:

<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="net.logstash.logback.encoder.LogstashEncoder">
        <stackTrace>
            <fieldName>stacktrace</fieldName>
            <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
                <pattern>[%thread] - %msg%n%stack{1,1024,10,rootFirst}</pattern>
            </throwableConverter>
        </stackTrace>
    </encoder>
</appender>

Custom Code:

Write your own Converter: LongMessageConverter

<conversionRule conversionWord="customConverter" converterClass="com.package.util.logging.converters.CustomMessageConverter">

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  <encoder>
    <pattern>%customConverter{25} [%thread] - %msg%n</pattern>
  </encoder>
</appender>
JCompetence
  • 6,997
  • 3
  • 19
  • 26
  • Thanks, but there is no way to add lib. I need to use ExceptionUtils#getStackTrace because it shows SQL query leading to ORA error. – danila_slynko Jul 12 '21 at 12:29
  • Catch it, and print whatever you want. Or logger.error("exception encountered", exceptionHere), that should display the stacktrace in your log...*All of the stacktrace. – JCompetence Jul 19 '21 at 20:42