[ 
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)

Reply via email to