Articles of log4j2

Строитель типа Builder? Как перевести это в котлин?

Я собираюсь передать некоторый код Java в kotlin. Я просто нашел какой-то неудобный заводский метод, который выглядит довольно прямолинейно: import org.apache.logging.log4j.core.Appender; import org.apache.logging.log4j.core.appender.SyslogAppender; public class Test { public Appender getSyslogAppender(String id, String host, int port, boolean immediateFlush, boolean newLine) { return SyslogAppender.newSyslogAppenderBuilder() .setId(id) .setNewLine(newLine) .withHost(host) .withPort(port) .withImmediateFlush(immediateFlush) .build(); } } Поэтому моя первая попытка: fun […]

Инкапсулирование получения имени метода в вспомогательном методе

Для целей отладки есть часть моего кода, в котором я хочу записать имя метода, например: val LOG = LogManager.getLogger(SomeClass::class.java.name) //… fun someMethod() { LOG.debug(Thread.currentThread().getStackTrace()[1].getMethodName()) Как я могу получить это как минимальное, но четкое выражение? Что-то вроде: LOG.debug(getMethodName()) Кстати, я попытался использовать AspectJ для этого, но я использую Eclipse, а плагин Kotlin работает с 1.1.1. AspectJ […]

kotlin logging с лямбда-параметрами

В log4j2 у нас есть удобная функция, которая описывается как // Java-8 style optimization: no need to explicitly check the log level: // the lambda expression is not evaluated if the TRACE level is not enabled logger.trace("Some long-running operation returned {}", () -> expensiveOperation()); моя попытка использовать это в котлине log.debug("random {}", { UUID.randomUUID() }) […]