In case it helps, I did a quick run over the weekend of all the places I
see "Log4j" mentioned in code and documentation.  This is a naive search so
not all of these references are necessarily of equal impact, but I thought
it might give some context to the scope of the change.  It also seems like
maybe some pieces of the project could be migrated independently of others
rather than a "big bang" change to everything.

~Brent

zookeeper/bin/zkCleanup.sh
zookeeper/bin/zkCli.cmd
zookeeper/bin/zkCli.sh
zookeeper/bin/zkEnv.cmd
zookeeper/bin/zkEnv.sh
zookeeper/bin/zkServer.cmd
zookeeper/bin/zkServer.sh

zookeeper/conf/log4j.properties

zookeeper/zookeeper-contrib/zookeeper-contrib-fatjar/pom.xml

zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/pom.xml
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/java/org/apache/zookeeper/graph/JsonGenerator.java
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/java/org/apache/zookeeper/graph/Log4JEntry.java
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/java/org/apache/zookeeper/graph/LogEntry.java
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/java/org/apache/zookeeper/graph/Log4JSource.java
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/java/org/apache/zookeeper/graph/MergedLogSource.java
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/loggraph-dev.sh
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/main/resources/webapp/org/apache/zookeeper/graph/log4j.properties
zookeeper/zookeeper-contrib/zookeeper-contrib-loggraph/src/test/java/org/apache/zookeeper/graph/servlets/ThroughputTest.java

zookeeper/zookeeper-contrib/zookeeper-contrib-rest/build.xml
zookeeper/zookeeper-contrib/zookeeper-contrib-rest/ivy.xml
zookeeper/zookeeper-contrib/zookeeper-contrib-rest/conf/log4j.properties
zookeeper/zookeeper-contrib/zookeeper-contrib-rest/pom.xml

zookeeper/zookeeper-contrib/zookeeper-contrib-zkfuse/src/log4cxx.properties

zookeeper/zookeeper-contrib/zookeeper-contrib-zooinspector/build.xml
zookeeper/zookeeper-contrib/zookeeper-contrib-zooinspector/ivy.xml
zookeeper/zookeeper-contrib/zookeeper-contrib-zooinspector/src/main/resources/log4j.properties
zookeeper/zookeeper-contrib/zookeeper-contrib-zooinspector/pom.xml
zookeeper/zookeeper-contrib/zookeeper-contrib-zooinspector/TODO

zookeeper/zookeeper-docs/src/main/resources/markdown/releasenotes.md
zookeeper/zookeeper-docs/src/main/resources/markdown/zookeeperAdmin.md
zookeeper/zookeeper-docs/src/main/resources/markdown/zookeeperAuditLogs.md
zookeeper/zookeeper-docs/src/main/resources/markdown/zookeeperInternals.md
zookeeper/zookeeper-docs/src/main/resources/markdown/zookeeperJMX.md
zookeeper/zookeeper-docs/src/main/resources/markdown/zookeeperStarted.md
zookeeper/zookeeper-docs/src/main/resources/markdown/zookeeperTools.md

zookeeper/zookeeper-metrics-providers/zookeeper-prometheus-metrics/src/test/resources/log4j.properties

zookeeper/zookeeper-server/pom.xml
zookeeper/zookeeper-server/src/main/java/org/apache/zookeeper/audit/Log4jAuditLogger.java
zookeeper/zookeeper-server/src/main/java/org/apache/zookeeper/audit/ZKAuditProvider.java
zookeeper/zookeeper-server/src/main/java/org/apache/zookeeper/jmx/ManagedUtil.java
zookeeper/zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerMain.java
zookeeper/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooKeeperServerMain.java
zookeeper/zookeeper-server/src/main/java/org/apache/zookeeper/server/ZooTrace.java
zookeeper/zookeeper-server/src/main/resources/NOTICE.txt
zookeeper/zookeeper-server/src/test/java/org/apache/zookeeper/audit/Log4jAuditLoggerTest.java
zookeeper/zookeeper-server/src/test/java/org/apache/zookeeper/audit/StandaloneServerAuditTest.java
zookeeper/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumPeerMainMultiAddressTest.java
zookeeper/zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/QuorumPeerMainTest.java
zookeeper/zookeeper-server/src/test/java/org/apache/zookeeper/test/ReadOnlyModeTest.java
zookeeper/zookeeper-server/src/test/java/org/apache/zookeeper/test/ReconfigExceptionTest.java
zookeeper/zookeeper-server/src/test/resources/log4j.properties

zookeeper/zookeeper-recipes/zookeeper-recipes-election/build.xml

zookeeper/zookeeper-recipes/zookeeper-recipes-lock/build.xml

zookeeper/zookeeper-recipes/zookeeper-recipes-queue/build.xml

zookeeper/owaspSuppressions.xml
zookeeper/pom.xml

On Sat, Dec 18, 2021 at 9:33 PM Brent <brentwritesc...@gmail.com> wrote:

> Apologies if this is repeated information (I sent some of this to the user@
> mailing list).
>
> I understand the arguments for/against Log4j 1.x and won't repeat them all
> here.  It seems like there's still some debate between Log4j2 vs. Logback
> too.  Does anyone have a feel for how much effort either of these
> conversions/upgrades/patches would be (hours? days? weeks?)?  Would you all
> be open to some pull requests to help move the conversation forward?
>
> I'm asking because I know some more cautious organizations are currently
> taking action to attempt to mitigate existing ZK installations on their own
> (opinions on 1.x aside, it's happening).  Some of those organizations are
> also on much older versions of ZK too so there's also the question of which
> versions are worth updating in addition to 3.8 (3.4? 3.5? 3.6? 3.7?).
>
> I know everyone is pressed for time and I'm looking for ways to help.  I'd
> be happy to try to pitch in if it would be useful at all.  I just want to
> make sure I'd be focusing my effort in the right direction.
>
> Regardless, thanks for all the time & effort you all put in on the
> project, it's very much appreciated.
>
> ~Brent
>
> On Wed, Dec 15, 2021 at 1:50 PM Andor Molnar <an...@apache.org> wrote:
>
>> Gosh, we have a few unit tests with log4j specific code.
>> I need some free cycles to refactor them properly.
>>
>> Andor
>>
>>
>>
>>
>> > On 2021. Dec 15., at 14:11, Andor Molnar <an...@apache.org> wrote:
>> >
>> > Agreed. My choice is not based on the recent vulnerabilities. There
>> > probably more to come by the way, so this is not the best timing for
>> > log4j2.
>> >
>> > Anyway, the main advantage I see for logback is that it's closer to
>> > log4j1, hence probably easier to migrate to.
>> >
>> > ZooKeeper already uses SLF4j so, as you suggested, we should follow the
>> > facade / default logging backend approach. Though I believe logback is
>> > better for the default. Sometimes less is more and in terms of
>> > vulnerabilities less code has less chance for bugs. If logback has all
>> > the features which ZooKeeper needs, I think we should choose that.
>> >
>> > Andor
>> >
>> >
>> >
>> > On Wed, 2021-12-15 at 07:41 -0500, Christopher wrote:
>> >> I think it would be a mistake to use the recently reported
>> >> vulnerability as a basis for migrating to logback. Any dependency can
>> >> have a vulnerability, and logback is not substantially different. No
>> >> dependency is going to be guaranteed vulnerability-free. Switching on
>> >> that basis is a wild goose chase. What is important is that people
>> >> respond to vulnerabilities by updating/patching in a timely manner.
>> >>
>> >> Also, it is my understanding that log4j2 is the evolution of logback
>> >> and slf4j, incorporating the original enhancements that logback had
>> >> made as a standard slf4j implementation and incorporating them back
>> >> into log4j code, as well as providing a lot of additional very useful
>> >> features and a huge amount of configuration flexibility. Although
>> >> logback is probably still suitable, log4j2 seems to be much more
>> >> active, and where the mainline development for Java logging is
>> >> happening. Moving to logback from log4j2 seems like a step backwards.
>> >>
>> >> Most importantly, though, the actual runtime logging implementation
>> >> should be independent from ZooKeeper project development. This
>> >> project
>> >> should use slf4j as a logging facade exclusively, and users should be
>> >> able to use whatever slf4j runtime implementation they want. If
>> >> ZooKeeper wants to choose a simple implementation, it shouldn't use
>> >> logback, but should use slf4j-simple instead. However, I think it
>> >> makes more sense to keep log4j2 at runtime for the slf4j
>> >> implementation. Users can still change it out for whatever they want.
>> >> There's no need to take action to replace the runtime implementation
>> >> for slf4j, because users can do that if they want... as long as the
>> >> project itself limits its logging to using the slf4j API.
>> >>
>> >> On Wed, Dec 15, 2021 at 6:46 AM Andor Molnar <an...@apache.org>
>> >> wrote:
>> >>>
>> >>> https://issues.apache.org/jira/browse/ZOOKEEPER-4427
>> >>>
>> >>>
>> >>> On Wed, 2021-12-15 at 12:35 +0100, Andor Molnar wrote:
>> >>>> Sure. I'll take care of that, but first things first. Look what
>> >>>> I've
>> >>>> found when checking the history of the issue.
>> >>>>
>> >>>> Thumbs-up from Ceki back from 2016:
>> >>>>
>> >>>>
>> https://issues.apache.org/jira/browse/ZOOKEEPER-2342?focusedCommentId=15207288&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-15207288
>> >>>>
>> >>>> What else do we need? :)
>> >>>>
>> >>>> Andor
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> On Wed, 2021-12-15 at 12:07 +0100, Enrico Olivelli wrote:
>> >>>>> +1
>> >>>>>
>> >>>>> Would you like to submit a PR ?
>> >>>>> Then we can release 3.8.0
>> >>>>>
>> >>>>> Enrico
>> >>>>>
>> >>>>> Il giorno mer 15 dic 2021 alle ore 12:04 Flavio Junqueira
>> >>>>> <f...@apache.org>
>> >>>>> ha scritto:
>> >>>>>
>> >>>>>> We use logback in Pravega, it works fine for us. I'd be ok
>> >>>>>> with the
>> >>>>>> change.
>> >>>>>>
>> >>>>>> -Flavio
>> >>>>>>
>> >>>>>>> On 15 Dec 2021, at 12:02, Andor Molnar <an...@apache.org>
>> >>>>>>> wrote:
>> >>>>>>>
>> >>>>>>> Hi ZK folks,
>> >>>>>>>
>> >>>>>>> What do you think about migrating ZK to logback?
>> >>>>>>> The idea just crossed my mind due to the recent turbulence
>> >>>>>>> with
>> >>>>>>> log4j.
>> >>>>>>>
>> >>>>>>> Checking some migrating guides, it doesn’t seem the end of
>> >>>>>>> the
>> >>>>>>> world.
>> >>>>>>>
>> >>>>>>> Andor
>> >>>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >
>> >
>>
>>

Reply via email to