[
https://issues.apache.org/jira/browse/LOG4J2-3310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17468518#comment-17468518
]
PJ Fanning edited comment on LOG4J2-3310 at 1/4/22, 11:16 AM:
--------------------------------------------------------------
[~mattsicker] I'm not sure if this is something that would delay a putative
release for LOG4J2-3184 but if you think this issue is worthwhile, I can have a
look at doing a new Pull Request
Before, I was concentrating on fact that macros were adjusting
String/CharSequence inputs but not other inputs. But thinking again, the param
list could contain function calls and by having macro add a level enabled
check, those function calls could potentially be avoided.
was (Author: pj.fanning):
[~mattsicker] I'm not sure if this is something that would delay a putative
release for LOG4J2-3184 but if you think this issue is worthwhile, I can have a
look at doing a new Pull Request
> maybe some log4j-api-scala methods should be changed back to being macros
> -------------------------------------------------------------------------
>
> Key: LOG4J2-3310
> URL: https://issues.apache.org/jira/browse/LOG4J2-3310
> Project: Log4j 2
> Issue Type: Improvement
> Components: Scala API
> Reporter: PJ Fanning
> Priority: Major
>
> In hindsight, I suspect that I went too far in LOG4J2-3184 with changing
> methods that used macros into ones that just delegated to base logger at
> runtime.
> These methods are among those that possibly should be macro based, as it
> might be nice to adjust the pre-compiled code to add the level isEnabled
> check.
>
> def apply(inline level: Level, inline marker: Marker, inline message:
> Message): Unit
> def apply(inline level: Level, inline marker: Marker, inline message:
> AnyRef): Unit
> def apply(inline level: Level, inline marker: Marker, inline message:
> Message, inline cause: Throwable): Unit
> def apply(inline level: Level, inline marker: Marker, inline message: AnyRef,
> inline cause: Throwable): Unit
> def apply(inline level: Level, inline message: Message): Unit
> def apply(inline level: Level, inline message: AnyRef): Unit
> def apply(inline level: Level, inline message: Message, inline cause:
> Throwable): Unit
> def apply(inline level: Level, inline message: AnyRef, inline cause:
> Throwable): Unit
> def traceEntry(inline params: AnyRef*): EntryMessage
> def traceEntry(inline message: Message): EntryMessage
> def traceExit(inline entryMessage: EntryMessage): Unit
> def traceExit[R](inline entryMessage: EntryMessage, result: R): R
> def traceExit[R](inline message: Message, result: R): R
> def throwing[T <: Throwable](inline level: Level, inline t: T): T
> def catching(inline level: Level, inline t: Throwable): Unit
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)