logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Sicker <boa...@gmail.com>
Subject Re: How to have a separate log file for a thread and all sub threads?
Date Mon, 29 Apr 2019 18:42:53 GMT
Requiring the use of ThreadContext data everywhere can slow things
down a little, though not sure by how much.

On Thu, 25 Apr 2019 at 13:35, Benjamin Jaton <benjamin.jaton@gmail.com> wrote:
>
> I've used ThresholdFilter to have the log level check at the level of the
> (sub) appender:
>
>                   "ThresholdFilter": {
>                     "level": "${my:threadgroup.jobLogLevel}",
>                     "onMatch": "ACCEPT",
>                     "onMismatch": "DENY"
>                   }
>
> Of course then I need to have the root logger in TRACE to let everything in
> to be filtered later on by the appender:
>
>     "loggers": {
>       "root": {
>         "level": "TRACE",
>         "additivity": "false",
>         "includeLocation": "true",
>         "AppenderRef": {
>           "ref": "JobsRoutingAppender"
>         }
>       }
>     }
>
> What do you think of this?
> Is performance a concern with this approach?
>
> On Thu, Apr 25, 2019 at 9:33 AM Ralph Goers <ralph.goers@dslextreme.com>
> wrote:
>
> > Another possibility would be to have a ThreadGroupContextSelector and then
> > use a different LoggerContext and configuration for each ThreadGroup.
> > However, that could get very complicated. The RoutingAppender pretty much
> > accomplishes the same thing and would be much easier to do.
> >
> > Ralph
> >
> > > On Apr 25, 2019, at 9:21 AM, Matt Sicker <boards@gmail.com> wrote:
> > >
> > > Oh damn, right, bit of a limitation there. I'll ponder on this a bit.
> > >
> > > On Thu, 25 Apr 2019 at 11:18, Ralph Goers <ralph.goers@dslextreme.com>
> > wrote:
> > >>
> > >> Matt, Benjamin’s issue is that he has no control over what is running
> > in the “jobs” but he wants all the logs for a “job” to end up in the same
> > appender. His definition of a job is that he is creating a thread to run it
> > and everything under that thread should route to that Appender. So he
> > cannot control what logger names are used much less whether they have
> > Markers or not.
> > >>
> > >> Ralph
> > >>
> > >>> On Apr 25, 2019, at 8:59 AM, Matt Sicker <boards@gmail.com> wrote:
> > >>>
> > >>> On Wed, 24 Apr 2019 at 18:47, Benjamin Jaton <benjamin.jaton@gmail.com>
> > wrote:
> > >>>> I've implemented the solution based on ThreadGroups. Now I am trying
> > to
> > >>>> have a separate log level per job. The goal is to be able to set
one
> > job in
> > >>>> DEBUG or TRACE while the others stay in WARN. Possible?
> > >>>> The RoutingAppender creates an appender per route but as far as
I
> > know I
> > >>>> cannot set a log level on the appender object. I guess filters
could
> > be
> > >>>> used but is there something simpler I'm missing?
> > >>>
> > >>> I think you'd be better off using markers for that. See
> > >>> https://logging.apache.org/log4j/2.x/manual/markers.html
> > >>>
> > >>> You might also be able to just use a naming scheme for your loggers
> > >>> that automatically makes them separately configurable as typical
> > >>> loggers. For example, say you use a naming scheme
> > >>> "com.example.threadgroup.<groupName>" as your loggers. Then you
could
> > >>> configure them by name as usual.
> > >>>
> > >>> --
> > >>> Matt Sicker <boards@gmail.com>
> > >>>
> > >>> ---------------------------------------------------------------------
> > >>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > >>> For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >>>
> > >>>
> > >>
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > >> For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >>
> > >
> > >
> > > --
> > > Matt Sicker <boards@gmail.com>
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > > For additional commands, e-mail: log4j-user-help@logging.apache.org
> > >
> > >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >



-- 
Matt Sicker <boards@gmail.com>

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Mime
View raw message