Hi Balazs, To me, as a biased contributor to Apache Log4j 2, I think the Log4j API should be new facade to use instead of Commons Logging.
That said, please feel free to contribute PRs to Commons Logging for those using that API ;-) https://github.com/apache/commons-logging Gary On Tue, Nov 13, 2018 at 1:24 PM Balazs Toth <zsa...@gmail.com> wrote: > Hi, > > I am wondering to extend the org.apache.commons.logging.Log interface with > default methods. > > It could simplify the usage, instead of > > if (log.isDebugEnabled()) { > log.debug("something heavy " + here); > } > > could use lambda expression > log.debug(() -> "something heavy " + here); > > to prevent the payload creation if the certain log level not enabled. > > so the org.apache.commons.logging.Log interface would get the following > default methods: > > default void debug(Supplier<Object> msgSupplier) { > if (isDebugEnabled()) { > debug(msgSupplier != null ? msgSupplier.get() : > null); > } > } > > default void debug(Supplier<Object> msgSupplier, Throwable t) { > if (isDebugEnabled()) { > debug(msgSupplier != null ? msgSupplier.get() : > null, t); > } > } > > of course not just for debug, I would create for all the log levels. > > Obviously that should need a new version like 1.3.0 because the Java > source and target level must raise to 1.8 from the current 1.6. > > What do you think, is the community would accept this change? > > Regards, Balazs