Yes, I think we can exclude log4j from the Flink dependencies. It’s somewhat annoying that they are there in the first place.
The Flink doc has this to say about the topic: https://ci.apache.org/projects/flink/flink-docs-release-1.3/monitoring/logging.html > On 3. Apr 2017, at 17:56, Aviem Zur <aviem...@gmail.com> wrote: > >> * java.util.logging could be a good choice for the Direct Runner > Yes, this will be great for users (Instead of having no logging when using > direct runner). > >> * Logging backend could be runner-specific, particularly if it needs to >> integrate into some other experience > Good point, let's take a look at the current state of runners: > Direct runner - will use JUL as suggested. > Dataflow runner - looks like there is already no binding (There is a > binding in tests only). > Spark runner - currently uses slf4j-log4j12. does not require any specific > logger, we can change this to no binding. > Flink runner - uses slf4j-log4j12 transitively from Flink dependencies. I'm > assuming this is not a must and we can default to no binding here. > @aljoscha please confirm. > Apex runner - uses slf4j-log4j12 transitively from Apex dependencies. I'm > assuming this is not a must and we can default to no binding here. @thw > please confirm. > > It might be a good idea to use a consistent binding in tests (Since we'll > use JUL for direct runner, let this be JUL). > > On Wed, Mar 29, 2017 at 7:23 PM Davor Bonaci <da...@apache.org> wrote: > > +1 on consistency across Beam modules on the logging facade > +1 on enforcing consistency > +1 on clearly documenting how to do logging > > Mixed feelings: > * Logging backend could be runner-specific, particularly if it needs to > integrate into some other experience > * java.util.logging could be a good choice for the Direct Runner > > On Tue, Mar 28, 2017 at 6:50 PM, Ahmet Altay <al...@google.com.invalid> > wrote: > >> On Wed, Mar 22, 2017 at 10:38 AM, Tibor Kiss <tk...@hortonworks.com> >> wrote: >> >>> This is a great idea! >>> >>> I believe Python-SDK's logging could also be enhanced (a bit >> differently): >>> Currently we are not instantiating the logger, just using the class what >>> logging package provides. >>> Shortcoming of this approach is that the user cannot set the log level > on >>> a per module basis as all log messages >>> end up in the root level. >>> >> >> +1 to this. Python SDK needs to expands its logging capabilities. Filed > [1] >> for this. >> >> Ahmet >> >> [1] https://issues.apache.org/jira/browse/BEAM-1825 >> >> >>> >>> On 3/22/17, 5:46 AM, "Aviem Zur" <aviem...@gmail.com> wrote: >>> >>> +1 to what JB said. >>> >>> Will just have to be documented well as if we provide no binding >> there >>> will >>> be no logging out of the box unless the user adds a binding. >>> >>> On Wed, Mar 22, 2017 at 6:24 AM Jean-Baptiste Onofré < >> j...@nanthrax.net> >>> wrote: >>> >>>> Hi Aviem, >>>> >>>> Good point. >>>> >>>> I think, in our dependencies set, we should just depend to >> slf4j-api >>> and >>>> let the >>>> user provides the binding he wants (slf4j-log4j12, slf4j-simple, >>> whatever). >>>> >>>> We define a binding only with test scope in our modules. >>>> >>>> Regards >>>> JB >>>> >>>> On 03/22/2017 04:58 AM, Aviem Zur wrote: >>>>> Hi all, >>>>> >>>>> There have been a few reports lately (On JIRA [1] and on Slack) >>> from >>>> users >>>>> regarding inconsistent loggers used across Beam's modules. >>>>> >>>>> While we use SLF4J, different modules use a different logger >>> behind it >>>>> (JUL, log4j, etc) >>>>> So when people add a log4j.properties file to their classpath > for >>>> instance, >>>>> they expect this to affect all of their dependencies on Beam >>> modules, but >>>>> it doesn’t and they miss out on some logs they thought they > would >>> see. >>>>> >>>>> I think we should strive for consistency in which logger is used >>> behind >>>>> SLF4J, and try to enforce this in our modules. >>>>> I for one think it should be slf4j-log4j. However, if > performance >>> of >>>>> logging is critical we might want to consider logback. >>>>> >>>>> Note: SLF4J will still be the facade for logging across the >>> project. The >>>>> only change would be the logger SLF4J delegates to. >>>>> >>>>> Once we have something like this it would also be useful to add >>>>> documentation on logging in Beam to the website. >>>>> >>>>> [1] https://issues.apache.org/jira/browse/BEAM-1757 >>>>> >>>> >>>> -- >>>> Jean-Baptiste Onofré >>>> jbono...@apache.org >>>> http://blog.nanthrax.net >>>> Talend - http://www.talend.com >>>> >>> >>> >>> >>