I believe it's used by Spring Boot to find a log4j2-spring.ext file based
on which file formats are supported by the underlying system. For example,
the logback integration looks for logback-spring.xml and
logback-spring.groovy files. I've never used that feature myself as I just
use the normal file name, but it must be supported by Spring for a reason.

On 15 January 2017 at 18:27, Apache <ralph.go...@dslextreme.com> wrote:

> I really don’t know what that code is trying to do.
>
> Ralph
>
> On Jan 15, 2017, at 4:26 PM, Matt Sicker <boa...@gmail.com> wrote:
>
> I added the dependency exclusion docs to master.
>
> As for the Spring Boot issue, I made a PR <https://github.com/spring-
> projects/spring-boot/pull/7992> to address this. I consider Configurator
> to be a more stable internal API than what they were doing before.
>
> This does bring me to a separate question: would making a public API to do
> this be useful?
>
> https://github.com/apache/logging-log4j-boot/blob/
> master/spring/src/main/java/org/apache/logging/log4j/boot/
> spring/Log4jLoggingSystem.java#L92
>
> Essentially, an API to get a list of all registered configuration file
> formats. As it is now, I need to call some ConfigurationFactory methods
> reflectively because they're protected, plus the required use of
> PluginManager is not great from an outside-of-log4j-core perspective. It
> could be an obscure use case, but some projects that embed a logging
> library try to perform some sorts of programmatic configuration like this.
>
> On 15 January 2017 at 11:26, Matt Sicker <boa...@gmail.com> wrote:
>
>> The change, if I remember right, was the need to inject the current
>> LoggerContext. I don't remember the scenario that caused it, but really,
>> Spring Boot was using an internal configuration API instead of using
>> LogManager (the stable, public API) like I did in my version. If we added a
>> reconfigure() method to the public API of LoggerContext, then I'd be able
>> to implement most of the LoggingSystem class using only public APIs.
>>
>> The other two internal APIs I needed to use are finding out which
>> configuration file formats are supported (though I don't fully understand
>> the scope of that method I implemented; it might not be super useful) and
>> the ability to set a log level on a logger by getting its LoggerConfig
>> (though I'm still confused if that's the right way to do it or if I should
>> use the core.Logger.setLevel() method that claims it's for unit tests).
>>
>> I'll add some docs about dependency exclusion since I've used that
>> feature a bunch already at work.
>>
>> On 15 January 2017 at 02:14, Remko Popma <remko.po...@gmail.com> wrote:
>>
>>> That is bad news... So our changes broke Spring boot's log4j2 logging?
>>> They only just removed Log4j 1 support... We really should be more careful
>>> about not breaking backwards compatibility.
>>> That said, just from looking at the code I can't see why their code
>>> should not work. What change broke it?
>>>
>>> Back to the topic of the dependency issues some people appear to have, I
>>> just found this link https://www.slf4j.org/faq.html#excludingJCL,
>>> wondering if we can add something similar to our documentation.  I think
>>> there is a need but I don't have the knowledge to do the write-up.
>>>
>>>
>>> On Sun, Jan 15, 2017 at 3:15 PM, Matt Sicker <boa...@gmail.com> wrote:
>>>
>>>> The only dependencies I ever end up having to exclude are log4j 1.2 and
>>>> logback, but that's normally from internal projects not having a consistent
>>>> logging configuration yet.
>>>>
>>>> I've made a PR to spring to update their docs to recommend log4j 2
>>>> instead of 1.x: <https://github.com/spring-pro
>>>> jects/spring-framework/pull/1279>
>>>>
>>>> As I come across projects that I use at work, I've been making PRs to
>>>> add support or docs about log4j. See Lagom: <
>>>> https://github.com/lagom/lagom/pull/270>.
>>>>
>>>> Really, it might be helpful to just get log4j 2 mentioned in more
>>>> framework docs. A lot of projects are still recommending log4j 1.x!
>>>>
>>>> As for using log4j-boot-spring, it'd be a replacement for spring-boot's
>>>> own logger modules which use logback by default (and their log4j2 version
>>>> doesn't work with 2.7+ because they coded it to use internal
>>>> ConfigurationFactory methods which changed in 2.7). Compare:
>>>>
>>>> https://github.com/apache/logging-log4j-boot/blob/master/spr
>>>> ing/src/main/java/org/apache/logging/log4j/boot/spring/Log4j
>>>> LoggingSystem.java#L137
>>>>
>>>> https://github.com/spring-projects/spring-boot/blob/master/s
>>>> pring-boot/src/main/java/org/springframework/boot/logging/lo
>>>> g4j2/Log4J2LoggingSystem.java#L170
>>>>
>>>> On 14 January 2017 at 23:37, Remko Popma <remko.po...@gmail.com> wrote:
>>>>
>>>>> One complaint I keep seeing is that libraries coding to the Log4j2 API
>>>>> would somehow result in problems with dependency configuration.
>>>>>
>>>>> I have been fairly isolated from such kind of problems so I don't
>>>>> understand when this could happen and what might cause it.
>>>>>
>>>>> The only hint I got was a brief reply on twitter:
>>>>> "Problems I've had result in lots of slf4j exclusions in my maven
>>>>> deps. IIRC the biggest offender was Jersey, but I don't have access to the
>>>>> project anymore."
>>>>>
>>>>> When/why would it be necessary to have lots of slf4j exclusions in
>>>>> the maven dependencies?
>>>>>
>>>>> Is there something we can do (docs or otherwise) to help with this?
>>>>> (Not sure if/how the log4j-boot project would help with such issues, I
>>>>> never used Spring boot.)
>>>>>
>>>>> Remko
>>>>>
>>>>> Sent from my iPhone
>>>>>
>>>>> On Jan 15, 2017, at 13:59, Matt Sicker <boa...@gmail.com> wrote:
>>>>>
>>>>> I've been seeing your posts on /r/java which could help spark some
>>>>> discussions. :)
>>>>>
>>>>> On 14 January 2017 at 22:57, Remko Popma <remko.po...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Another one along similar lines: "10 Log4j2 API features not in
>>>>>> SLF4J" http://stackoverflow.com/a/41635246/1446916
>>>>>>
>>>>>> :-)
>>>>>> Remko
>>>>>>
>>>>>> Sent from my iPhone
>>>>>>
>>>>>> On Jan 13, 2017, at 14:15, Matt Sicker <boa...@gmail.com> wrote:
>>>>>>
>>>>>> Jira is down right now, but I have this RFC:
>>>>>> https://github.com/apache/logging-log4j-boot
>>>>>>
>>>>>> On 8 January 2017 at 02:16, Remko Popma <remko.po...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Speaking of slf4j, I would like to evangelize that applications
>>>>>>> should code to the Log4j2 API as a best practice. See also
>>>>>>> http://stackoverflow.com/a/41500347/1446916
>>>>>>>
>>>>>>> I'm thinking to do a blog post along these lines.
>>>>>>>
>>>>>>> Thoughts? Maybe also something to emphasize on the site?
>>>>>>>
>>>>>>> Sent from my iPhone
>>>>>>> ------------------------------------------------------------
>>>>>>> ---------
>>>>>>> To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
>>>>>>> For additional commands, e-mail: log4j-dev-h...@logging.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Matt Sicker <boa...@gmail.com>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Matt Sicker <boa...@gmail.com>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Matt Sicker <boa...@gmail.com>
>>>>
>>>
>>>
>>
>>
>> --
>> Matt Sicker <boa...@gmail.com>
>>
>
>
>
> --
> Matt Sicker <boa...@gmail.com>
>
>
>


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

Reply via email to