Вы можете написать свой собственный пользовательский спецификатор преобразования .
. Для этого вы должны объявить правило преобразования в вашем logback.xml
для символа %exname
следующим образом:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<conversionRule conversionWord="exname" converterClass="com.foo.ExceptionNameConverter" />
...
</configuration>
Затем объявите ExceptionNameConverter
следующим образом:
import ch.qos.logback.classic.pattern.ThrowableProxyConverter;
import ch.qos.logback.classic.spi.IThrowableProxy;
public class ExceptionNameConverter extends ThrowableProxyConverter {
@Override
protected String throwableProxyToString(IThrowableProxy tp) {
return tp.getClassName();
}
}
Теперь, используя этот шаблон:
%d{yyyy-MM-dd}|%-5level|%exname|%m%n
Следующий оператор журнала:
logger.error("Boom!", new RuntimeException("ouch"));
будет излучать:
2018-09-26|ERROR|java.lang.RuntimeException|Boom!