Re: ThreadContext vs asynchronous app

2015-05-21 Thread Mikael Ståldal
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 
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 
> > 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
> > > 
> > > JUnit in Action, Second Edition 
> > > Spring Batch in Action 
> > > 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
> 
> JUnit in Action, Second Edition 
> Spring Batch in Action 
> 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.


Re: ThreadContext vs asynchronous app

2015-05-20 Thread Gary Gregory
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 
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 
> 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
> > 
> > JUnit in Action, Second Edition 
> > Spring Batch in Action 
> > 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

JUnit in Action, Second Edition 
Spring Batch in Action 
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


Re: ThreadContext vs asynchronous app

2015-05-18 Thread Mikael Ståldal
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 
wrote:

> Mikael,
>
> Did you get any help on this?
>
> Gary
>
> On Fri, May 8, 2015 at 1:51 AM, Mikael Ståldal 
> 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
> 
> JUnit in Action, Second Edition 
> Spring Batch in Action 
> 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.


Re: ThreadContext vs asynchronous app

2015-05-18 Thread Gary Gregory
Mikael,

Did you get any help on this?

Gary

On Fri, May 8, 2015 at 1:51 AM, Mikael Ståldal 
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

JUnit in Action, Second Edition 
Spring Batch in Action 
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory