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-log... http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... Yair

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. And once we agree to 1 logging framework, I can start preparing patches to use it. ----- Original Message -----
From: "Yair Zaslavsky" <yzaslavs@redhat.com> To: devel@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-log... http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim...
Yair _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Martin Perina" <mperina@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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. 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@redhat.com> To: devel@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-log... http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim...
Yair _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Vojtech Szocs" <vszocs@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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
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@redhat.com> To: devel@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-log... http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim...
Yair _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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.)
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@redhat.com> To: devel@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-log... http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim...
Yair _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Greg Sheremeta" <gshereme@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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.
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@redhat.com> To: devel@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-log... http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim...
Yair _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Martin Perina" <mperina@redhat.com> To: "Greg Sheremeta" <gshereme@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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. 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
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@redhat.com> To: devel@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-log... http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim...
Yair _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> To: "Greg Sheremeta" <gshereme@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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). 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@redhat.com> > To: devel@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-log... > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > Yair > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Martin Perina" <mperina@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> To: "Greg Sheremeta" <gshereme@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > Cc: devel@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. 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.
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@redhat.com> > > To: devel@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-log... > > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > > > > > Yair > > _______________________________________________ > > Devel mailing list > > Devel@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/devel > > > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> To: "Greg Sheremeta" <gshereme@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> > To: "Martin Perina" <mperina@redhat.com> > Cc: devel@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@redhat.com> > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > Cc: devel@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@redhat.com> > > > To: devel@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-log... > > > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > > > > > > > > > Yair > > > _______________________________________________ > > > Devel mailing list > > > Devel@ovirt.org > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > _______________________________________________ > > Devel mailing list > > Devel@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/devel > > > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Martin Perina" <mperina@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> To: "Greg Sheremeta" <gshereme@redhat.com> Cc: devel@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@redhat.com> To: "Yair Zaslavsky" <yzaslavs@redhat.com> Cc: devel@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@redhat.com> > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > Cc: devel@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@redhat.com> > > To: "Martin Perina" <mperina@redhat.com> > > Cc: devel@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@redhat.com> > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > Cc: devel@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@redhat.com> > > > > To: devel@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-log... > > > > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > > > > > > > > > > > > > Yair > > > > _______________________________________________ > > > > Devel mailing list > > > > Devel@ovirt.org > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > _______________________________________________ > > > Devel mailing list > > > Devel@ovirt.org > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > _______________________________________________ > > Devel mailing list > > Devel@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/devel > > > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> To: "Greg Sheremeta" <gshereme@redhat.com> Cc: devel@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@redhat.com> > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > Cc: devel@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@redhat.com> > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > Cc: devel@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@redhat.com> > > > To: "Martin Perina" <mperina@redhat.com> > > > Cc: devel@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@redhat.com> > > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > > Cc: devel@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);
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 ...
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@redhat.com> > > > > > To: devel@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-log... > > > > > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > > > > > > > > > > > > > > > > > Yair > > > > > _______________________________________________ > > > > > Devel mailing list > > > > > Devel@ovirt.org > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > _______________________________________________ > > > > Devel mailing list > > > > Devel@ovirt.org > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > _______________________________________________ > > > Devel mailing list > > > Devel@ovirt.org > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > _______________________________________________ > > Devel mailing list > > Devel@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/devel > > > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel > _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

----- Original Message -----
From: "Martin Perina" <mperina@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> > To: "Greg Sheremeta" <gshereme@redhat.com> > Cc: devel@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@redhat.com> > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > Cc: devel@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@redhat.com> > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > Cc: devel@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@redhat.com> > > > > To: "Martin Perina" <mperina@redhat.com> > > > > Cc: devel@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@redhat.com> > > > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > > > Cc: devel@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.
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.
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@redhat.com> > > > > > > To: devel@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-log... > > > > > > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > > > > > > > > > > > > > > > > > > > > > Yair > > > > > > _______________________________________________ > > > > > > Devel mailing list > > > > > > Devel@ovirt.org > > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > > > _______________________________________________ > > > > > Devel mailing list > > > > > Devel@ovirt.org > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > _______________________________________________ > > > > Devel mailing list > > > > Devel@ovirt.org > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > _______________________________________________ > > > Devel mailing list > > > Devel@ovirt.org > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > _______________________________________________ > > Devel mailing list > > Devel@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/devel > > > _______________________________________________ > Devel mailing list > Devel@ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel >

----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> > To: "Martin Perina" <mperina@redhat.com> > Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> > > To: "Greg Sheremeta" <gshereme@redhat.com> > > Cc: devel@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@redhat.com> > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > Cc: devel@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@redhat.com> > > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > > Cc: devel@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@redhat.com> > > > > > To: "Martin Perina" <mperina@redhat.com> > > > > > Cc: devel@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@redhat.com> > > > > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > > > > Cc: devel@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@redhat.com> > > > > > > > To: devel@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-log... > > > > > > > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yair > > > > > > > _______________________________________________ > > > > > > > Devel mailing list > > > > > > > Devel@ovirt.org > > > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > > > > > _______________________________________________ > > > > > > Devel mailing list > > > > > > Devel@ovirt.org > > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > > > _______________________________________________ > > > > > Devel mailing list > > > > > Devel@ovirt.org > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > _______________________________________________ > > > > Devel mailing list > > > > Devel@ovirt.org > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > _______________________________________________ > > > Devel mailing list > > > Devel@ovirt.org > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > _______________________________________________ > > Devel mailing list > > Devel@ovirt.org > > http://lists.ovirt.org/mailman/listinfo/devel > > >

----- Original Message -----
From: "Martin Perina" <mperina@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org Sent: Monday, June 16, 2014 4:49:57 PM Subject: Re: [ovirt-devel] Question/thoughts about our engine logging framework
----- Original Message -----
From: "Alon Bar-Lev" <alonbl@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Alon Bar-Lev" <alonbl@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> To: "Martin Perina" <mperina@redhat.com> Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> > To: "Alon Bar-Lev" <alonbl@redhat.com> > Cc: devel@ovirt.org, "Greg Sheremeta" <gshereme@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@redhat.com> > > To: "Martin Perina" <mperina@redhat.com> > > Cc: "Greg Sheremeta" <gshereme@redhat.com>, devel@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@redhat.com> > > > To: "Greg Sheremeta" <gshereme@redhat.com> > > > Cc: devel@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@redhat.com> > > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > > Cc: devel@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@redhat.com> > > > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > > > Cc: devel@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@redhat.com> > > > > > > To: "Martin Perina" <mperina@redhat.com> > > > > > > Cc: devel@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@redhat.com> > > > > > > > To: "Yair Zaslavsky" <yzaslavs@redhat.com> > > > > > > > Cc: devel@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 ...
Right. I opened a bug[1] [1] https://bugzilla.redhat.com/show_bug.cgi?id=1109871
> 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@redhat.com> > > > > > > > > To: devel@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-log... > > > > > > > > http://stackoverflow.com/questions/3222895/what-is-the-issue-with-the-runtim... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yair > > > > > > > > _______________________________________________ > > > > > > > > Devel mailing list > > > > > > > > Devel@ovirt.org > > > > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Devel mailing list > > > > > > > Devel@ovirt.org > > > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > > > > > _______________________________________________ > > > > > > Devel mailing list > > > > > > Devel@ovirt.org > > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > > > _______________________________________________ > > > > > Devel mailing list > > > > > Devel@ovirt.org > > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > > > _______________________________________________ > > > > Devel mailing list > > > > Devel@ovirt.org > > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > > > _______________________________________________ > > > Devel mailing list > > > Devel@ovirt.org > > > http://lists.ovirt.org/mailman/listinfo/devel > > > > > >
participants (6)
-
Alon Bar-Lev
-
Eli Mesika
-
Greg Sheremeta
-
Martin Perina
-
Vojtech Szocs
-
Yair Zaslavsky