logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Jaton <benjamin.ja...@gmail.com>
Subject Re: How to have a separate log file for a thread and all sub threads?
Date Thu, 25 Apr 2019 18:34:54 GMT
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
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message