Return-Path: X-Original-To: apmail-logging-log4j-dev-archive@www.apache.org Delivered-To: apmail-logging-log4j-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7590A19B2A for ; Mon, 29 Feb 2016 16:37:08 +0000 (UTC) Received: (qmail 56477 invoked by uid 500); 29 Feb 2016 16:36:34 -0000 Delivered-To: apmail-logging-log4j-dev-archive@logging.apache.org Received: (qmail 56427 invoked by uid 500); 29 Feb 2016 16:36:34 -0000 Mailing-List: contact log4j-dev-help@logging.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Log4J Developers List" Reply-To: "Log4J Developers List" Delivered-To: mailing list log4j-dev@logging.apache.org Received: (qmail 56417 invoked by uid 99); 29 Feb 2016 16:36:34 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Feb 2016 16:36:34 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 43C4A1A09ED for ; Mon, 29 Feb 2016 16:36:33 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.299 X-Spam-Level: * X-Spam-Status: No, score=1.299 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=magine-com.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id xXXKp3_FfXlT for ; Mon, 29 Feb 2016 16:36:30 +0000 (UTC) Received: from mail-oi0-f43.google.com (mail-oi0-f43.google.com [209.85.218.43]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id BD7675F54F for ; Mon, 29 Feb 2016 16:36:29 +0000 (UTC) Received: by mail-oi0-f43.google.com with SMTP id d205so26000724oia.0 for ; Mon, 29 Feb 2016 08:36:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=magine-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=Nlo3tXzNm/CqOz+tmRN5TICBpdrSLpwSQdzDa5UTCIU=; b=rE7rZoycanM/qgaOIbslXTsM3hz5IgwVByZV1NT8olvU19BW9cwrhBySRpu9FldNAR R1tJtzdy8cgH+5+IlwQubn3H7qpkzNuR1NAKDMyy4J3XfPwcCgZsKOD21P17xL0FTf14 XzHXWaOtNYKKDsLWMSnmtOydV8WXYu6gmMKZa1JqDE5+4D7wS/6B29Y6g/6J51UnPHzt YxnEsq4L2mz+ueb3T9IQnPQmnlYkEalMjJVCz6Zac3m8kV0gsPaaU1lwOyQzozJ3SjMW cVpUwjeh1V1DvBdqR/zUP+JO/j+EosfZUpdicVpNWEZTUllUL9royVZKrJSYaiZiFmze 3fbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=Nlo3tXzNm/CqOz+tmRN5TICBpdrSLpwSQdzDa5UTCIU=; b=ch6TMgXESfJhlFwgCzKPjUKdhuAZvGYKkRU15ABXxg9tuUlLNRJ8cXnJ9vaRHMVhAW k9YXWtwzBCLe71RQIfL95yU52I2UUBnDZkI9mkcKfKvnOdXouBr57EsZpXS2l8tPJmZM 3Rq51SCza8/JPZJKHySg6HXCrX/FFHn3iS46p/YvXrvPCAzjuXX5HORWgJa2K4S5HYqC fmdn2mZGt0iXzzUJiNm1nzSd9iNFz3iviMfRB68gC1RU9ub7JnYnEHJ3FKnCkapaSDoI KxXUpfD03WFoO9ZaoTYPsbeyqywjrTcpfkf04ZS32RZnT8swB9a/M1FM5J7HNkuzkKG6 fNPQ== X-Gm-Message-State: AD7BkJId4J2PAIao5p1RLrPdl+25JTMJCjUKVRWb6LrL+Gi0ndSbxDpNIWPwLfvixpf0NKjTfxFnnywC/2s88Ygv MIME-Version: 1.0 X-Received: by 10.202.59.137 with SMTP id i131mr12194250oia.62.1456763781667; Mon, 29 Feb 2016 08:36:21 -0800 (PST) Received: by 10.157.34.225 with HTTP; Mon, 29 Feb 2016 08:36:21 -0800 (PST) In-Reply-To: <944A96E8-B0C9-4FDD-B76C-38F97757B0C7@dslextreme.com> References: <944A96E8-B0C9-4FDD-B76C-38F97757B0C7@dslextreme.com> Date: Mon, 29 Feb 2016 17:36:21 +0100 Message-ID: Subject: Re: Education From: =?UTF-8?Q?Mikael_St=C3=A5ldal?= To: Log4J Developers List Content-Type: multipart/alternative; boundary=001a113cc7f2ba78e7052ceb3f8c --001a113cc7f2ba78e7052ceb3f8c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I think the idea of having an abstraction API for different logging implementation is inherently bad. Both commons-logging and SLF4J have probably created more problems than they have solved. One reason I like Log4J 2 is that it doesn't claim to be an abstraction API, and I see it as a way to eventually get out of this mess. It have plugins (appenders, layouts, etc.) though, and that is good, that's where the abstraction layer should be. I hope that one day people will stop using commons-logging / SLF4J and use Log4J 2 directly instead. So I am one of the people who "think that log4j-api isn't analogous to slf4j-api where log4j-core is like logback", and I like it that way. On Mon, Feb 29, 2016 at 4:41 PM, Ralph Goers wrote: > However, it is important to remember that SLF4J was created before Logbac= k > and was meant to be a new abstraction API. You can see that right here in > the archives for this mailing list. > > OTOH, Log4j 2=E2=80=99s API was created so that =E2=80=9Cnormal=E2=80=9D = users would be able to > know what was safe to code against and what wasn=E2=80=99t. Log4j 1 had = lots of > problems because users were coding against pretty much all the components > and expecting them to remain compatible. > > In the end, the result is similar. You can use either API and bind with > another implementation, however binding with the =E2=80=9Ctargeted=E2=80= =9D backend is > still more efficient. > > Ralph > > On Feb 29, 2016, at 8:27 AM, Matt Sicker wrote: > > Because some people think that log4j-api isn't analogous to slf4j-api > where log4j-core is like logback. It's a naming confusion I'd guess. > > On 29 February 2016 at 03:38, Mikael St=C3=A5ldal > wrote: > >> Why is it important to point out that Log4j 2 has API / impl separation? >> >> On Fri, Feb 26, 2016 at 10:33 PM, Ralph Goers > > wrote: >> >>> Not on that site. The issue he is bringing up was discusses a few years >>> ago either on one of our lists. >>> >>> Ralph >>> >>> On Feb 26, 2016, at 2:24 PM, Gary Gregory >>> wrote: >>> >>> Is that worth pointing out? >>> >>> Gary >>> >>> On Fri, Feb 26, 2016 at 1:04 PM, Ralph Goers >> > wrote: >>> >>>> Well, that is understandable. He has been working on this stuff a long >>>> time. And I know he wasn=E2=80=99t happy about the documentation issue= , even though >>>> all that documentation derived from the log4j 1 manual. >>>> >>>> Ralph >>>> >>>> On Feb 26, 2016, at 2:00 PM, Gary Gregory >>>> wrote: >>>> >>>> Yeah, seems a little strong a reply. He sure has a lot of emotion >>>> attached to the issue! >>>> >>>> Gary >>>> >>>> On Fri, Feb 26, 2016 at 12:13 PM, Ralph Goers < >>>> ralph.goers@dslextreme.com> wrote: >>>> >>>>> >>>>> Wow. Ceki sure took offense to that! >>>>> >>>>> Ralph >>>>> >>>>> On Feb 26, 2016, at 11:18 AM, Gary Gregory >>>>> wrote: >>>>> >>>>> >>>>> https://github.com/swagger-api/swagger-parser/issues/209#issuecomment= -189377712 >>>>> >>>>> What can we do to educate and publicize the fact that Log4j 2 is an >>>>> API too? >>>>> >>>>> Gary >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> E-Mail: garydgregory@gmail.com | ggregory@apache.org >>>> >>>> Java Persistence with Hibernate, Second Edition >>>> >>>> JUnit in Action, Second Edition >>>> Spring Batch in Action >>>> Blog: http://garygregory.wordpress.com >>>> Home: http://garygregory.com/ >>>> Tweet! http://twitter.com/GaryGregory >>>> >>>> >>>> >>> >>> >>> -- >>> E-Mail: garydgregory@gmail.com | ggregory@apache.org >>> >>> Java Persistence with Hibernate, Second Edition >>> >>> JUnit in Action, Second Edition >>> Spring Batch in Action >>> Blog: http://garygregory.wordpress.com >>> Home: http://garygregory.com/ >>> Tweet! http://twitter.com/GaryGregory >>> >>> >>> >> >> >> -- >> [image: MagineTV] >> >> *Mikael St=C3=A5ldal* >> Senior software developer >> >> *Magine TV* >> mikael.staldal@magine.com >> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >> >> >> Privileged and/or Confidential Information may be contained in this >> message. If you are not the addressee indicated in this message >> (or responsible for delivery of the message to such a person), you may >> not copy or deliver this message to anyone. In such case, >> you should destroy this message and kindly notify the sender by reply >> email. >> > > > > -- > Matt Sicker > > > --=20 [image: MagineTV] *Mikael St=C3=A5ldal* Senior software developer *Magine TV* mikael.staldal@magine.com Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com Privileged and/or Confidential Information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such a person), you may not copy or deliver this message to anyone. In such case, you should destroy this message and kindly notify the sender by reply email. --001a113cc7f2ba78e7052ceb3f8c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I think the idea of having an abstraction API for differen= t logging implementation is inherently bad. Both commons-logging and SLF4J = have probably created more problems than they have solved.

One reason I like Log4J 2 is that it doesn't claim to be an abstract= ion API, and I see it as a way to eventually get out of this mess. It have = plugins (appenders, layouts, etc.) though, and that is good, that's whe= re the abstraction layer should be. I hope that one day people will stop us= ing commons-logging / SLF4J and use Log4J 2 directly instead.
So I am one of the people who "think that log4j-api isn't analogous to slf4j-api where log4j-cor= e is like logback", and I like it that way.

On Mon, Feb 29, 2016 at 4= :41 PM, Ralph Goers <ralph.goers@dslextreme.com> wr= ote:
=
However, it is important to remember that SLF4J was created before Log= back and was meant to be a new abstraction API. You can see that right here= in the archives for this mailing list. =C2=A0

OTO= H, Log4j 2=E2=80=99s API was created so that =E2=80=9Cnormal=E2=80=9D users= would be able to know what was safe to code against and what wasn=E2=80=99= t.=C2=A0 Log4j 1 had lots of problems because users were coding against pre= tty much all the components and expecting them to remain compatible.
<= div>
In the end, the result is similar. You can use either AP= I and bind with another implementation, however binding with the =E2=80=9Ct= argeted=E2=80=9D backend is still more efficient.

Ralph

On Feb 29, 2016= , at 8:27 AM, Matt Sicker <boards@gmail.com> wrote:

Because some people think that log4j-api isn't analogous to slf4j= -api where log4j-core is like logback. It's a naming confusion I'd = guess.

On 29 February 2016 at 03:38, Mikael St=C3=A5ldal=C2=A0<mikael.staldal@magine.com>=C2=A0wrote:
Why is it important to point out that Lo= g4j 2 has API / impl separation?
=
On Fri, Feb 26, 2016 at 10:33 PM, Ralph Goer= s=C2=A0<ralph.goers@dslextreme.com>=C2=A0wrote:
Not on that site. The issue he is bringing up was discusses a few years= ago either on one of our lists.

Ralph

On Feb 26, 2016, at 2:24 PM, Gary Gregory <garydgregory@gmail.com> w= rote:

Is that worth pointing out?

Gary

On Fri, Feb 26, 2016 at 1:04 PM, Ralph Goers=C2=A0<ralph.goers@dslextreme.com>=C2=A0wrote:
Well, that is unders= tandable. He has been working on this stuff a long time. And I know he wasn= =E2=80=99t happy about the documentation issue, even though all that docume= ntation derived from the log4j 1 manual.

Ralph

On Feb 26, 2016, at 2:00 PM, Gary Gregory <garydgregory@gmail.com= > wrote:

Yeah, seems a little strong = a reply. He sure has a lot of emotion attached to the issue!=C2=A0

=
Gary

On Fri, Feb 26, 2016 at 12:13 PM, Ralph Goers=C2=A0<= span dir=3D"ltr"><ralph.goers@dslextreme.com>=C2=A0wro= te:

=
Wow. Ceki sure took offense to that!

Ralph

On Feb 26, 2016, at 11:18 AM, Gary Gregory <garydgregory@gmail.co= m> wrote:

https://github.com/swagger-api/swagger-parser/issues/209#issuecomment= -189377712

What can we do to educate and publicize th= e fact that Log4j 2 is an API too?

Gary




<= div>
--=C2=A0



--=C2=A0
E-Mail:=C2=A0<= a href=3D"mailto:garydgregory@gmail.com" target=3D"_blank">garydgregory@gma= il.com=C2=A0|=C2=A0ggregory@apache.org=C2=A0Java Persist= ence with Hibernate, Second Edition
JUnit in Action, Second Edition
Spring Batch in A= ction
Blog:=C2=A0http://garygregory.wordpress.com=C2=A0<= /span>
Home:=C2=A0http://garygregory.com/
Tweet!=C2=A0http://twitter.com/G= aryGregory




--=C2=A0
=
3D"MagineTV"=C2=A0

Mikael St=C3=A5ldal
Senior sof= tware developer=C2=A0

Magine TV
mikael.staldal@magine.com=C2=A0 =C2=A0=C2=A0
Grev Turegatan 3 =C2=A0|=C2=A0114 46 Stockholm, S= weden=C2=A0=C2=A0|=C2=A0=C2=A0=C2=A0www.magine.com=C2=A0

Privileged and/or Confidential Informa= tion may be contained in this message. If you are not the addressee indicat= ed in this message
(or responsible for delivery of the message to such a= person), you may not copy or deliver this message to anyone. In such case,= =C2=A0
you should destroy this message and kindly notify the sender by r= eply email. =C2=A0=C2=A0



--=C2=A0
Matt Sicker <boards@gmail.com>



=
--
3D"MagineTV"

Mikael St=C3=A5ldal
Senior software developer

Magine TV
mikael.s= taldal@magine.com=C2=A0 =C2=A0=C2=A0
Grev Turegatan 3 =C2=A0|=C2=A0114 46 St= ockholm, Sweden=C2=A0 | =C2=A0 www.magine.com

Privilege= d and/or Confidential Information may be contained in this message. If=20 you are not the addressee indicated in this message
(or responsible for delivery of the message to such a person), you may not copy or deliver this message to anyone. In such case,=C2=A0
you should destroy this message and kindly notify the sender by reply ema= il. =C2=A0=C2=A0
--001a113cc7f2ba78e7052ceb3f8c--