The SMTP appender would work well as a sample for that idea as we don't
have a Slack appender yet (though I do have a ticket open for a generic
HTTP appender which could be used as one).

Also, after the site is integrated, we can start talking about 2.8.1.

On 23 February 2017 at 21:58, Apache <ralph.go...@dslextreme.com> wrote:

> Either that or create an sample in the examples project. Speaking of, that
> needs to move to its own repo.  I think I should have time to get the Scala
> stuff linked to the web site this weekend. Maybe I can split out the
> examples too.
>
> Ralph
>
> > On Feb 23, 2017, at 8:56 PM, Apache <ralph.go...@dslextreme.com> wrote:
> >
> > Actually, that would be a good use case to document on the web site. The
> example that is up there is completely contrived. I made it up just to have
> something to use to explain it. But a real-world example would probably be
> much better.
> >
> > Ralph
> >
> >> On Feb 23, 2017, at 8:54 PM, Matt Sicker <boa...@gmail.com> wrote:
> >>
> >> I haven't used markers much, but I've finally figured out an interesting
> >> use case for them at work: marking log messages to filter them into a
> Slack
> >> message. Right now we've got people using random Slack libraries to post
> >> messages in team channels to alert various things, yet a simple appender
> >> plus marker filter would simplify this quite a bit. I'd imagine that
> some
> >> people use differently named loggers or other tricks because they don't
> >> know about markers in the first place.
> >>
> >> On 23 February 2017 at 21:44, Apache <ralph.go...@dslextreme.com>
> wrote:
> >>
> >>> Yeah, but it makes me wonder if anyone is using Markers. That bug was
> >>> found over 5 years ago during performance testing of an app at my
> former
> >>> employer when they were still using Logback. It received no votes in
> Jira
> >>> and no one saying “me too”. If they were doing any kind of logging
> with the
> >>> MarkerFilter in the configuration they would have noticed the problem
> >>> during any performance testing.
> >>>
> >>> That said, I too am glad it is finally fixed. But between that and the
> >>> improvements to the FileAppender we need to update the performance
> page.
> >>> In my tests we are still coming out ahead but Logback is now much
> better
> >>> than it was.
> >>>
> >>> Ralph
> >>>
> >>>> On Feb 23, 2017, at 8:33 PM, Matt Sicker <boa...@gmail.com> wrote:
> >>>>
> >>>> That's good to hear! A lot of people still use SLF4J with Log4j 2, so
> >>>> anything that makes them more performant is a nice bonus.
> >>>>
> >>>> On 23 February 2017 at 21:29, Apache <ralph.go...@dslextreme.com>
> wrote:
> >>>>
> >>>>> I tested SLF4J after the fix and on my computer the performance
> problem
> >>>>> does seem to have been addressed and the code should now be thread
> safe.
> >>>>>
> >>>>> Ralph
> >>>>>
> >>>>>> On Feb 23, 2017, at 2:39 PM, Apache <ralph.go...@dslextreme.com>
> >>> wrote:
> >>>>>>
> >>>>>> And that issue has now been marked closed. However, there are still
> a
> >>>>> couple of synchronized methods in there that are called on every
> filter
> >>>>> comparison so we will have to rerun our performance benchmarks to see
> >>> if it
> >>>>> made a significant difference.
> >>>>>>
> >>>>>> Ralph
> >>>>>>
> >>>>>>> On Feb 23, 2017, at 2:30 PM, Apache <ralph.go...@dslextreme.com>
> >>> wrote:
> >>>>>>>
> >>>>>>> Ceki obviously reads this list as he marked SLF4J-240 in progress
> >>> right
> >>>>> after I posted the message below. Keep an eye on that for a fix.
> >>>>>>>
> >>>>>>> While your in there Ceki, the contains methods in BasicMarker
> aren’t
> >>>>> thread-safe.
> >>>>>>>
> >>>>>>> Ralph
> >>>>>>>
> >>>>>>>> On Feb 23, 2017, at 1:29 PM, Apache <ralph.go...@dslextreme.com>
> >>>>> wrote:
> >>>>>>>>
> >>>>>>>> Markers would work but I wouldn’t recommend using them with SLF4J.
> >>> See
> >>>>> https://jira.qos.ch/browse/SLF4J-240 <https://jira.qos.ch/browse/
> >>> SLF4J-240>.
> >>>>> It has been open for over 5 years so I’m of the impression it will
> >>> never be
> >>>>> fixed. http://logging.apache.org/log4j/2.x/performance.html#
> >>>>> Advanced_Filtering <http://logging.apache.org/
> >>> log4j/2.x/performance.html#
> >>>>> Advanced_Filtering> shows that filtering on Markers becomes a huge
> >>>>> bottleneck in a multithreaded system.
> >>>>>>>>
> >>>>>>>> Ralph
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> On Feb 23, 2017, at 1:01 PM, Marshall Schor <m...@schor.com>
> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On 2/23/2017 1:09 PM, Apache wrote:
> >>>>>>>>>> You shouldn’t be trying to modify the logger. You should be
> trying
> >>>>> to modify the configuration. Take a look at
> http://logging.apache.org/
> >>>>> log4j/2.x/manual/customconfig.html#Programmatically_
> >>> Modifying_the_Current_
> >>>>> Configuration_after_Initialization <http://logging.apache.org/
> >>>>> log4j/2.x/manual/customconfig.html#Programmatically_
> >>> Modifying_the_Current_
> >>>>> Configuration_after_Initialization> <http://logging.apache.org/
> >>>>> log4j/2.x/manual/customconfig.html#Programmatically_
> >>> Modifying_the_Current_
> >>>>> Configuration_after_Initialization <http://logging.apache.org/
> >>>>> log4j/2.x/manual/customconfig.html#Programmatically_
> >>> Modifying_the_Current_
> >>>>> Configuration_after_Initialization>>. That example creates an
> appender
> >>>>> and a logger and adds them. In your case, you would want to find
> >>>>> loggerConfig associated with your logger by calling
> >>> config.getLoggerConfig(“loggerName”).
> >>>>> Then add the filter to that.
> >>>>>>>>>>
> >>>>>>>>>> That said, you should probably explain what you are actually
> trying
> >>>>> to do. More often than not, dynamically updating the logging
> >>> configuration
> >>>>> is unnecessary as what you really want to do can be achieved other
> ways.
> >>>>>>>>>
> >>>>>>>>> Thanks.
> >>>>>>>>> What I'm trying to do is to run JUnit testing of an old logging
> >>>>> facade that I've
> >>>>>>>>> bridged to log4j-2.
> >>>>>>>>>
> >>>>>>>>> In the test, I set a filter, and want to see that it worked.
> >>>>>>>>>
> >>>>>>>>> While I have your attention, I'm bridging from a format that used
> >>> the
> >>>>> JUL
> >>>>>>>>> "CONFIG" level, and would like to know how to represent this in a
> >>>>> "neutral" way
> >>>>>>>>> for modern loggers.  (I'm thinking of SLF4J, Log4J, and
> LogBack). My
> >>>>> thought is
> >>>>>>>>> to map CONFIG requests to INFO requests with a "Marker"
> identifying
> >>>>> CONFIG.
> >>>>>>>>> Same goes for FINE/FINER - mapping to TRACE, with markers for the
> >>> two
> >>>>>>>>> alternatives.  To make this work, I'm implementing special
> "Filters"
> >>>>> :-).
> >>>>>>>>>
> >>>>>>>>> Is there a better way?  I know you can introduce additional
> levels
> >>> in
> >>>>> Log4j-2,
> >>>>>>>>> but that doesn't seem to be supported in SLF4J and LogBack, and
> I'm
> >>>>> looking for
> >>>>>>>>> a more universal approach.
> >>>>>>>>>
> >>>>>>>>> Thanks. -Marshall
> >>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Ralph
> >>>>>>>>>>
> >>>>>>>>>>> On Feb 23, 2017, at 9:39 AM, Marshall Schor <m...@schor.com>
> >>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Hi,
> >>>>>>>>>>>
> >>>>>>>>>>> I'm writing test cases, using version 2.8 of Log4j.
> >>>>>>>>>>>
> >>>>>>>>>>> One test sets a filter on a logger.
> >>>>>>>>>>>
> >>>>>>>>>>> Looking (afterwards) at the logger, I see that the logger has a
> >>>>> field:
> >>>>>>>>>>>
> >>>>>>>>>>> "privateConfig", and that has two fields for configuration
> info:
> >>>>>>>>>>>
> >>>>>>>>>>> - config (set to an instance of XmlConfiguration)
> >>>>>>>>>>> - loggerConfig (has the filter I set on the logger).
> >>>>>>>>>>>
> >>>>>>>>>>> The code for isEnabled in Logger (line 238):
> >>>>>>>>>>> public boolean isEnabled(final Level level, final Marker
> marker,
> >>>>> final Object
> >>>>>>>>>>> message, final Throwable t) {
> >>>>>>>>>>> return privateConfig.filter(level, marker, message, t);
> >>>>>>>>>>> }
> >>>>>>>>>>>
> >>>>>>>>>>> privateConfig.filter() although it has both a "config" and a
> >>>>> "loggerConfig",
> >>>>>>>>>>> only checks the config.
> >>>>>>>>>>>
> >>>>>>>>>>> The fact that I successfully used an API to set the
> loggerConfig
> >>>>> with a filter
> >>>>>>>>>>> is ignored.
> >>>>>>>>>>>
> >>>>>>>>>>> Should the design for privateConfig.filter() check both
> configs,
> >>> or
> >>>>> is there
> >>>>>>>>>>> some API call to "merge" the change I did that was recorded in
> the
> >>>>> field
> >>>>>>>>>>> "loggerConfig" into the config stored in the field "config"?
> >>>>>>>>>>>
> >>>>>>>>>>> -Marshall Schor
> >>>>>>>>>>>
> >>>>>>>>>>> P.S., here's the API call I did to set a filter:
> >>>>>>>>>>>
> >>>>>>>>>>> // coreLogger is a cast of a normal logger, to enable the get()
> >>>>> method
> >>>>>>>>>>> coreLogger.get().addFilter(myFilter);
> >>>>>>>>>>>
> >>>>>>>>>>> // not sure if this is needed, but did it anyways
> >>>>>>>>>>> coreLogger.getContext().updateLoggers();
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> ------------------------------------------------------------
> >>>>> ---------
> >>>>>>>>>>> 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
> >>>>> <mailto:log4j-user-unsubscr...@logging.apache.org>
> >>>>>>>>> For additional commands, e-mail: log4j-user-help@logging.
> apache.org
> >>>>> <mailto:log4j-user-h...@logging.apache.org>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> ------------------------------------------------------------
> ---------
> >>>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >>>>>>> For additional commands, e-mail: log4j-user-help@logging.
> apache.org
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ------------------------------------------------------------
> ---------
> >>>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >>>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> ------------------------------------------------------------
> ---------
> >>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Matt Sicker <boa...@gmail.com>
> >>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> >>>
> >>>
> >>
> >>
> >> --
> >> Matt Sicker <boa...@gmail.com>
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>


-- 
Matt Sicker <boa...@gmail.com>

Reply via email to