----- Original Message -----
From: "Alon Bar-Lev" <alonbl(a)redhat.com>
To: "Martin Perina" <mperina(a)redhat.com>
Cc: devel(a)ovirt.org, "Greg Sheremeta" <gshereme(a)redhat.com>
Sent: Sunday, June 15, 2014 6:27:09 PM
Subject: Re: [ovirt-devel] Question/thoughts about our engine logging framework
----- Original Message -----
> From: "Martin Perina" <mperina(a)redhat.com>
> To: "Alon Bar-Lev" <alonbl(a)redhat.com>
> Cc: devel(a)ovirt.org, "Greg Sheremeta" <gshereme(a)redhat.com>
> Sent: Sunday, June 15, 2014 7:19:15 PM
> Subject: Re: [ovirt-devel] Question/thoughts about our engine logging
> framework
>
>
>
> ----- Original Message -----
> > From: "Alon Bar-Lev" <alonbl(a)redhat.com>
> > To: "Martin Perina" <mperina(a)redhat.com>
> > Cc: "Greg Sheremeta" <gshereme(a)redhat.com>, devel(a)ovirt.org
> > Sent: Sunday, June 15, 2014 5:07:28 PM
> > Subject: Re: [ovirt-devel] Question/thoughts about our engine logging
> > framework
> >
> >
> >
> > ----- Original Message -----
> > > From: "Martin Perina" <mperina(a)redhat.com>
> > > To: "Greg Sheremeta" <gshereme(a)redhat.com>
> > > Cc: devel(a)ovirt.org
> > > Sent: Sunday, June 15, 2014 5:34:51 PM
> > > Subject: Re: [ovirt-devel] Question/thoughts about our engine logging
> > > framework
> > >
> > >
> > >
> > > ----- Original Message -----
> > > > From: "Greg Sheremeta" <gshereme(a)redhat.com>
> > > > To: "Yair Zaslavsky" <yzaslavs(a)redhat.com>
> > > > Cc: devel(a)ovirt.org
> > > > Sent: Sunday, June 15, 2014 4:25:54 PM
> > > > Subject: Re: [ovirt-devel] Question/thoughts about our engine
logging
> > > > framework
> > > >
> > > >
> > > >
> > > > ----- Original Message -----
> > > > > From: "Eli Mesika" <emesika(a)redhat.com>
> > > > > To: "Yair Zaslavsky" <yzaslavs(a)redhat.com>
> > > > > Cc: devel(a)ovirt.org
> > > > > Sent: Sunday, June 15, 2014 10:02:15 AM
> > > > > Subject: Re: [ovirt-devel] Question/thoughts about our engine
> > > > > logging
> > > > > framework
> > > > >
> > > > >
> > > > >
> > > > > ----- Original Message -----
> > > > > > From: "Vojtech Szocs" <vszocs(a)redhat.com>
> > > > > > To: "Martin Perina" <mperina(a)redhat.com>
> > > > > > Cc: devel(a)ovirt.org
> > > > > > Sent: Friday, June 13, 2014 12:57:49 PM
> > > > > > Subject: Re: [ovirt-devel] Question/thoughts about our
engine
> > > > > > logging
> > > > > > framework
> > > > > >
> > > > > >
> > > > > >
> > > > > > ----- Original Message -----
> > > > > > > From: "Martin Perina"
<mperina(a)redhat.com>
> > > > > > > To: "Yair Zaslavsky"
<yzaslavs(a)redhat.com>
> > > > > > > Cc: devel(a)ovirt.org
> > > > > > > Sent: Friday, June 13, 2014 10:43:59 AM
> > > > > > > Subject: Re: [ovirt-devel] Question/thoughts about our
engine
> > > > > > > logging
> > > > > > > framework
> > > > > > >
> > > > > > > Hi Yair,
> > > > > > >
> > > > > > > I had in my mind to clean up logging framework mess
for quite
> > > > > > > some
> > > > > > > time
> > > > > > > :-)
> > > > > > > Currently this is the usage of logging frameworks in
engine
> > > > > > > classes:
> > > > > > >
> > > > > > > java.util.logging.Logger 6.8%
> > > > > > > org.apache.commons.logging.Log 7.8%
> > > > > > > org.apache.log4j.Logger 13.6%
> > > > > > > org.ovirt.engine.core.utils.log.Log 68.8%
> > > > > > > org.slf4j.Logger 2.9%
> > > > > > >
> > > > > > > I think we should definitely use only 1 logging
framework for
> > > > > > > the
> > > > > > > whole
> > > > > > > engine!
> > > > > > >
> > > > > > > So +1 to slf4j from me.
> > > > > >
> > > > > > +1 from me as well.
> > > > >
> > > > > +1
> > > > >
> > > > +1 to slf4j. I started using that exclusively in Java projects 4
> > > > years
> > > > ago
> > > > :)
> > > >
> > > > Just be careful if we're introducing it as a new dependency.
(It's
> > > > provided
> > > > by Fedora, but there might be conflicts if JBoss/Wildfly uses it. We
> > > > should
> > > > use that same version, if it does.)
> > >
> > > We already have a dependency to slf4j 1.7.5 in the root pom.xml. And
> > > AFAIK
> > > 1.7.2 is a part of EAP 6.
> >
> > The jboss we are using provides slf4j-1.6.1, while it seems to be patched
> > to
> > support varargs[1] as 1.7.x.
>
> Ha, you are right, inside JBoss it works, because they did the same thing
> as
> with
> log4j. They provide same classes as slf4j, but with their own different
> implementation with JBoss Logging backend :-(
>
> So if you compile with slf4j 1.7, you can use varargs even when JBoss tries
> to tell
> us it provides slf4j 1.6 ...
>
> > As standalone at fedora there is slf4j which is compatible and at rhel
> > there
> > is slf4j-eap6 both are 1.7.x.
> > However for centos we use jpackage which provides only 1.6.1[2].
> > So for standalone packages we may experience issues if were build using
> > varargs.
> >
> > [1] logger.debug("format", obj1, obj2, obj3, ...)
> > [2]
http://jpackage.org/browser/rpm.php?jppversion=6.0&id=12435
>
> AFAIK the only non JBoss usage of logging is at engine-config and
> engine-manage-domains.
> So we have 2 options:
>
> 1) Use log4j in engine-config and engine-manage-domains (current status)
> and use
> slf4j in the rest of engine
>
> 2) Package slf4j 1.7.x as our dependency
>
> I would prefer option 1).
>
No... we use jboss modules within these, so you actually using jboss version.
Not entirely true. We are using JBoss version of log4j to configure logging.
But we cannot use slf4j provided by JBoss, because it can use as a backend
only JBoss Logging and not log4j. I just verified that if slf4j is used
in engine-manage-domains, it's not logged to the file configured by log4j.
The only one that does not use jboss modules is dwh, in which we do
not
control logging anyway.
We just need to make sure that standalone application either use
commons-logging (primitive) or slf4j-1.6.x for now.
And in either case to use java.util.loggings as infa and not log4j if not too
late for that.
In java.utils.logging you cannot use varargs in simple way (which is for me
one of the main reason to use slf4j):
log.info("Hello: {} {} {}", p1, p2, p3);
but you have to create new array of params:
log.info("Hello: {} {} {}", new Object[] { p1, p2, p3});
or format message outside logging framework:
log.info(String.format("Hello: %s %s %s", p1, p2, p3));
And this "external formatting" is the only way for commons-logging framework.
> Btw in RHEL7 there is packaged slf4j 1.7.5
>
> >
> > >
> > > >
> > > > > >
> > > > > > Note that GWT UI code uses java.util.logging exclusively to
do
> > > > > > all
> > > > > > logging.
> > > > > > (GWT emulates java.util.logging API and provides log
handlers for
> > > > > > use
> > > > > > on
> > > > > > client side such as console.log() or
stdout/DevMode-during-debug
> > > > > > handlers.)
> > > > > >
> > > > > > >
> > > > > > > And once we agree to 1 logging framework, I can start
preparing
> > > > > > > patches
> > > > > > > to
> > > > > > > use it.
> > > > > > >
> > > > > > > ----- Original Message -----
> > > > > > > > From: "Yair Zaslavsky"
<yzaslavs(a)redhat.com>
> > > > > > > > To: devel(a)ovirt.org
> > > > > > > > Sent: Friday, June 13, 2014 8:15:55 AM
> > > > > > > > Subject: [ovirt-devel] Question/thoughts about
our engine
> > > > > > > > logging
> > > > > > > > framework
> > > > > > > >
> > > > > > > > Hi all,
> > > > > > > > During my recent work on AAA, I was suggested by
Juan
> > > > > > > > Hernandez
> > > > > > > > to
> > > > > > > > use
> > > > > > > > slf4j
> > > > > > > > logging framework which serves as a facade for
other logging
> > > > > > > > frameworks
> > > > > > > > (including java utils logging which is now used
by jboss),
> > > > > > > > log4j
> > > > > > > > and
> > > > > > > > others.
> > > > > > > > I have accepted Juan's offer, and then when
looking at our
> > > > > > > > LogFactory
> > > > > > > > class
> > > > > > > > I
> > > > > > > > have noticed we use commons logging.
> > > > > > > >
> > > > > > > > Several thoughts/questions -
> > > > > > > > A. Why continue use our own wrapper as slf4j is
already a
> > > > > > > > facade.
> > > > > > > > b. I think we should move cross java code to
slf4j. What do
> > > > > > > > you
> > > > > > > > think
> > > > > > > > on
> > > > > > > > this
> > > > > > > > point?
> > > > > > > >
> > > > > > > > Some reading material -
> > > > > > > >
> > > > > > > >
http://javarevisited.blogspot.com.au/2013/08/why-use-sl4j-over-log4j-for-...
> > > > > > > >
http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-run...
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Yair
> > > > > > > > _______________________________________________
> > > > > > > > Devel mailing list
> > > > > > > > Devel(a)ovirt.org
> > > > > > > >
http://lists.ovirt.org/mailman/listinfo/devel
> > > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Devel mailing list
> > > > > > > Devel(a)ovirt.org
> > > > > > >
http://lists.ovirt.org/mailman/listinfo/devel
> > > > > > >
> > > > > > _______________________________________________
> > > > > > Devel mailing list
> > > > > > Devel(a)ovirt.org
> > > > > >
http://lists.ovirt.org/mailman/listinfo/devel
> > > > > >
> > > > > _______________________________________________
> > > > > Devel mailing list
> > > > > Devel(a)ovirt.org
> > > > >
http://lists.ovirt.org/mailman/listinfo/devel
> > > > >
> > > > _______________________________________________
> > > > Devel mailing list
> > > > Devel(a)ovirt.org
> > > >
http://lists.ovirt.org/mailman/listinfo/devel
> > > >
> > > _______________________________________________
> > > Devel mailing list
> > > Devel(a)ovirt.org
> > >
http://lists.ovirt.org/mailman/listinfo/devel
> > >
> >
>