[ 
https://issues.apache.org/jira/browse/LOG4J2-793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14110196#comment-14110196
 ] 

Matt Sicker commented on LOG4J2-793:
------------------------------------

I can think of one:

{code}
public class MyMarker implements org.slf4j.Marker {
  // ...
}
{code}

{code}
org.slf4j.Marker m = ...;
org.slf4j.Logger logger = ...;
logger.info(m, "hi");
{code}

What we need is a converter from generic SLF4J Markers into Log4j Markers. We 
have the basic code to do this inside {{log4j-to-slf4j}}; it just needs to be 
ported to {{log4j-slf4j-impl}} as well.

> Log4jLogger only accepts Log4jMarker, not SLF4J's Marker
> --------------------------------------------------------
>
>                 Key: LOG4J2-793
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-793
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.0.1
>            Reporter: Manfred Dohmen
>            Priority: Minor
>
> We're using Log4j 2 via SLF4J. A Logger's log methods have signatures like 
> this:
> public abstract void warn(org.slf4j.Marker marker, java.lang.String msg)
> If you use an object that is an Marker but not a Log4jMarker this fails at 
> org.apache.logging.slf4j.Log4jLogger.getMarker(Log4jLogger.java:378) due to 
> "cannot be cast to org.apache.logging.slf4j.Log4jMarker".
> Use case: we have a defined set of Markers. There's an enum for this, 
> implementing SLF4J's marker interface. Obviously with Log4j we cannot use 
> this enum.
> I think an org.apache.logging.slf4j.Log4jLogger cannot expect an 
> org.apache.logging.slf4j.Log4jMarker.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to