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 8:17:13 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: 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.
You did not understand.
1. use log4j or apache commons within application.
2. use java.logging as logging infra.
>
> > 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
> > > >
> > >
> >
>