----- Original Message -----
From: "Alon Bar-Lev" <alonbl(a)redhat.com>
To: "Martin Perina" <mperina(a)redhat.com>
Cc: devel(a)ovirt.org
Sent: Monday, June 16, 2014 3:26:00 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
> Sent: Monday, June 16, 2014 4:22:16 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 7:44:22 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 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.
>
> Well, I'm not sure I understand even now, but see my response :-)
>
> > 1. use log4j or apache commons within application.
>
> That's not a good idea because both doesn't support simple varargs.
> We want use slf4j to be able to use this:
>
> log.info("Hello: {} {} {}", p1, p2, p3);
>
I am sorry, had a typo... it should have been:
1. use slf4j or apache commons within application.
OK, now I understand, so if agreed then we will use slf4j.
So if we agree to slf4j, I plan to use slf4j in engine (the only
exception is java.logging in GWT related parts of code), remove
dependency to other logging frameworks (log4j, commons-logging)
and remove internal logging framework (org.ovirt.engine.core.utils.log)
>
> > 2. use java.logging as logging infra.
>
> Well, AFAIK JBoss reimplements java.logging backend and redirects
> it to its own backend (JBoss Logging). No sure, if we will be able
> (or want) to bypass this redirection and use java.logging as backend
> for engine. Not to mention, there will always be server.log for JBoss
> infra logging.
>
> And for engine-manage-domains and engine-config we would have to
> drop command line configuration using log4j introduced in 3.5 and
> for next version change it to java.logging configuration
>
> So personally I don't see any benefit of this change for users nor
> developers ...
yes, and drop the usage of log4j entirely.
OK, so migrate from log4j to java.logging backend in engine-manage-domains
and engine-config ...
>
> >
> > >
> > > >
> > > > > 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
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>