A good start would be to implement what I suggest in
https://issues.apache.org/jira/browse/LOG4J2-1010,
add possibility to set the context map in calls to the methods in the
Logger interface.

That would make it possible to implement what I need on top of Log4j 2.

I can't come up with any really convenient way to do it in Java, but in
Scala (which I mostly use) you can use implicit parameters and provide a
wrapper like this:

trait ScalaLogger {

  def info(message: String)(implicit context: ContextMap): Unit

}


On Thu, May 21, 2015 at 6:40 AM, Gary Gregory <garydgreg...@gmail.com>
wrote:

> Mikael,
>
> Any thoughts on how to get this to work for you? Feel free to dig into the
> code, we are always looking new for contributors :-)
>
> Gary
>
> On Mon, May 18, 2015 at 10:25 AM, Mikael Ståldal <
> mikael.stal...@magine.com>
> wrote:
>
> > No, not really.
> >
> > There is some discussion on this JIRA issue, but it does not solve my
> > problem:
> > https://issues.apache.org/jira/browse/LOG4J2-1010
> >
> > And even my suggestion in the JIRA issue is not ideal solution, just a
> > possible workaround.
> >
> > What I really want is something which work like ThreadContext, and
> > implicitly put data into the context map of log messages, but which is
> not
> > tied to a JVM Thread.
> >
> > (I am using Log4j 2.3 now, but that doesn't seem to make any difference
> for
> > this.)
> >
> > On Mon, May 18, 2015 at 7:13 PM, Gary Gregory <garydgreg...@gmail.com>
> > wrote:
> >
> > > Mikael,
> > >
> > > Did you get any help on this?
> > >
> > > Gary
> > >
> > > On Fri, May 8, 2015 at 1:51 AM, Mikael Ståldal <
> > mikael.stal...@magine.com>
> > > wrote:
> > >
> > > > I have an asynchronous web app (in Scala based on Twitter Finagle,
> not
> > > > using Servlet API).
> > > >
> > > > I use Log4j 2.2 for logging, and I want to tag log messages with some
> > > > information about requests (such as client IP address and
> authenticated
> > > > user ID).
> > > >
> > > > In a synchronous Servlet based web app, you can use Log4j's
> > TheradContext
> > > > for this, but it doesn't work in Finagle's asynchronous environment
> > since
> > > > there is no correlation between threads and requests.
> > > >
> > > > How can I do this?
> > > >
> > > > --
> > > > [image: MagineTV]
> > > >
> > > >  *Mikael Ståldal*
> > > > Senior backend developer
> > > >
> > > >  *Magine TV*
> > > >  mikael.stal...@magine.com
> > > >  Regeringsgatan 25  | 111 53 Stockholm, Sweden  |   www.magine.com
> > > >
> > > >  Privileged and/or Confidential Information may be contained in this
> > > > message. If you are not the addressee indicated in this message
> > > > (or responsible for delivery of the message to such a person), you
> may
> > > not
> > > > copy or deliver this message to anyone. In such case,
> > > > you should destroy this message and kindly notify the sender by reply
> > > > email.
> > > >
> > >
> > >
> > >
> > > --
> > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > > Java Persistence with Hibernate, Second Edition
> > > <http://www.manning.com/bauer3/>
> > > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> > > Spring Batch in Action <http://www.manning.com/templier/>
> > > Blog: http://garygregory.wordpress.com
> > > Home: http://garygregory.com/
> > > Tweet! http://twitter.com/GaryGregory
> > >
> >
> >
> >
> > --
> > [image: MagineTV]
> >
> >  *Mikael Ståldal*
> > Senior backend developer
> >
> >  *Magine TV*
> >  mikael.stal...@magine.com
> >  Regeringsgatan 25  | 111 53 Stockholm, Sweden  |   www.magine.com
> >
> >  Privileged and/or Confidential Information may be contained in this
> > message. If you are not the addressee indicated in this message
> > (or responsible for delivery of the message to such a person), you may
> not
> > copy or deliver this message to anyone. In such case,
> > you should destroy this message and kindly notify the sender by reply
> > email.
> >
>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
[image: MagineTV]

 *Mikael Ståldal*
Senior backend developer

 *Magine TV*
 mikael.stal...@magine.com
 Regeringsgatan 25  | 111 53 Stockholm, Sweden  |   www.magine.com

 Privileged and/or Confidential Information may be contained in this
message. If you are not the addressee indicated in this message
(or responsible for delivery of the message to such a person), you may not
copy or deliver this message to anyone. In such case,
you should destroy this message and kindly notify the sender by reply
email.

Reply via email to