Apache Spark needs serializable loggers, and if we can guarantee that Log4j 2 is then that would be a good argument to convince Spark users to use Log4j 2.
http://stackoverflow.com/questions/29208844/apache-spark-logging-within-scala On Tue, Jul 26, 2016 at 1:52 AM, Remko Popma <remko.po...@gmail.com> wrote: > > On 2016/07/26, at 1:43, Mikael Ståldal <mikael.stal...@magine.com> wrote: > > The purpose is that the user of Log4j can be sure that the Logger is > serializable. > > > If that is a consideration, the user can select an implementation that is > fit for purpose. > > I generally prefer not to make too many guarantees in an interface to give > implementations more flexibility. > > On Mon, Jul 25, 2016 at 6:38 PM, Gary Gregory <garydgreg...@gmail.com> > wrote: > >> But to what purpose? Does Log4j itself need this? Is this a case of YAGNI? >> >> If I have a Logger in an object I serialize, and the class implementing >> Logger is serializable, then I am good to go. >> >> Making Logger Serializable, would make this obvious to users and might >> make some developers warm and fuzzy. It just seems like an odd requirement >> for ALL implementors of Loggers to be serializable. As a third party Logger >> implementor, that does not mean it would be done properly. Implementing the >> interface is no guarantee of proper behavior. >> >> Overall, it seems like it would make Log4j less friendly to 3rd party >> implementors. Are there even any? >> >> Gary >> >> On Mon, Jul 25, 2016 at 9:07 AM, Mikael Ståldal < >> mikael.stal...@magine.com> wrote: >> >>> But maybe we actually want to force all implementations to be >>> serializable? >>> >>> On Mon, Jul 25, 2016 at 6:01 PM, Remko Popma <remko.po...@gmail.com> >>> wrote: >>> >>>> I think the theory is it is preferable to let implementors of an >>>> interface implement java.io.Serializable instead of letting the interface >>>> extend java.io.Serializable. That gives future implementors the freedom to >>>> choose to either implement Serializable or not. >>>> >>>> On Tue, Jul 26, 2016 at 12:49 AM, Mikael Ståldal < >>>> mikael.stal...@magine.com> wrote: >>>> >>>>> It seems like serializable logger is useful in Apache Spark, which is >>>>> popular to use from Scala. >>>>> >>>>> On Mon, Jul 25, 2016 at 4:20 PM, Matt Sicker <boa...@gmail.com> wrote: >>>>> >>>>>> Do Scala programmers use Serializable a lot, or is there a better >>>>>> mechanism there? Because if there's a more Scala way of doing it, that >>>>>> would make more sense. Otherwise, you can always add Serializable later, >>>>>> but you shouldn't remove it once it's part of the public API. >>>>>> >>>>>> On 25 July 2016 at 03:06, Mikael Ståldal <mikael.stal...@magine.com> >>>>>> wrote: >>>>>> >>>>>>> I am asking this since I'm considering making the Scala Logger >>>>>>> wrapper Serializable. Would that be a good idea? >>>>>>> >>>>>>> On Mon, Jul 25, 2016 at 10:00 AM, Mikael Ståldal < >>>>>>> mikael.stal...@magine.com> wrote: >>>>>>> >>>>>>>> Users can rely on the fact that loggers are always Serializable. >>>>>>>> >>>>>>>> I guess we could also document that fact if we don't want to mark >>>>>>>> the interface Serializable. >>>>>>>> >>>>>>>> On Fri, Jul 22, 2016 at 7:16 PM, Ralph Goers < >>>>>>>> ralph.go...@dslextreme.com> wrote: >>>>>>>> >>>>>>>>> What advantage is gained by declaring the interface Serializable? >>>>>>>>> >>>>>>>>> Ralph >>>>>>>>> >>>>>>>>> On Jul 22, 2016, at 9:38 AM, Mikael Ståldal < >>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>> >>>>>>>>> I don't think we should limit ourselves to what we add to the API >>>>>>>>> just for the sake of alternative implementations. >>>>>>>>> >>>>>>>>> On Fri, Jul 22, 2016 at 6:09 PM, Gary Gregory < >>>>>>>>> garydgreg...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> I do not think you want to _force_ all implementation to be >>>>>>>>>> serializable. Serialization is not a main feature of loggers, >>>>>>>>>> logging is. >>>>>>>>>> >>>>>>>>>> Gary >>>>>>>>>> >>>>>>>>>> On Fri, Jul 22, 2016 at 12:45 AM, Mikael Ståldal < >>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>> >>>>>>>>>>> But if this is a feature that is useful for some users, why not >>>>>>>>>>> fully advertise it by making the Logger interface Serializable? >>>>>>>>>>> >>>>>>>>>>> On Thu, Jul 21, 2016 at 7:53 PM, Matt Sicker <boa...@gmail.com> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> It's Serializable because there was a feature request for it. >>>>>>>>>>>> The jira ticket is internal (reported by Gary), but I recall >>>>>>>>>>>> either another >>>>>>>>>>>> bug or a mailing list post where the justification was so that >>>>>>>>>>>> serializable >>>>>>>>>>>> classes can still use a Logger instance field (not everyone uses a >>>>>>>>>>>> static >>>>>>>>>>>> field for the Logger for some reason). >>>>>>>>>>>> >>>>>>>>>>>> On 21 July 2016 at 11:32, Ralph Goers < >>>>>>>>>>>> ralph.go...@dslextreme.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I asked myself the same question and I guess the answer is >>>>>>>>>>>>> that Logger is included in lots of classes, many of which are >>>>>>>>>>>>> Serializable. >>>>>>>>>>>>> It would be easier for us to make AbstractLogger Serializable >>>>>>>>>>>>> then for all >>>>>>>>>>>>> the users to mark it as transient and have to manually >>>>>>>>>>>>> instantiate the >>>>>>>>>>>>> Logger during de-Serialization. >>>>>>>>>>>>> >>>>>>>>>>>>> Ralph >>>>>>>>>>>>> >>>>>>>>>>>>> On Jul 21, 2016, at 9:29 AM, Mikael Ståldal < >>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> So then why is AbstractLogger, and our implementation in >>>>>>>>>>>>> log4j-core, Serializable? >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Jul 21, 2016 at 6:18 PM, Gary Gregory < >>>>>>>>>>>>> garydgreg...@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> I do not think there is a way to know what folks are doing >>>>>>>>>>>>>> out there... >>>>>>>>>>>>>> >>>>>>>>>>>>>> Gary >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Jul 21, 2016 at 9:13 AM, Mikael Ståldal < >>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Are there any providers not using AbstractLogger? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Jul 21, 2016 at 6:09 PM, Gary Gregory < >>>>>>>>>>>>>>> garydgreg...@gmail.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Probably to leave the decision on whether to support >>>>>>>>>>>>>>>> serialization to each provider. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Gary >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Jul 21, 2016 3:14 AM, "Mikael Ståldal" < >>>>>>>>>>>>>>>> mikael.stal...@magine.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> AbstractLogger is Serializable, but the Logger interface >>>>>>>>>>>>>>>>> is not. Why is it so? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>>>> mikael.stal...@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. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>>>> mikael.stal...@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. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>>>>>>>>>>>>> Java Persistence with Hibernate, Second Edition >>>>>>>>>>>>>> <http://www.manning.com/bauer3/> >>>>>>>>>>>>>> JUnit in Action, Second Edition >>>>>>>>>>>>>> <http://www.manning.com/tahchiev/> >>>>>>>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/> >>>>>>>>>>>>>> Blog: http://garygregory.wordpress.com >>>>>>>>>>>>>> Home: http://garygregory.com/ >>>>>>>>>>>>>> Tweet! http://twitter.com/GaryGregory >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> [image: MagineTV] >>>>>>>>>>>>> >>>>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>>>> Senior software developer >>>>>>>>>>>>> >>>>>>>>>>>>> *Magine TV* >>>>>>>>>>>>> mikael.stal...@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 <boa...@gmail.com> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> [image: MagineTV] >>>>>>>>>>> >>>>>>>>>>> *Mikael Ståldal* >>>>>>>>>>> Senior software developer >>>>>>>>>>> >>>>>>>>>>> *Magine TV* >>>>>>>>>>> mikael.stal...@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. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>>>>>>>>> Java Persistence with Hibernate, Second Edition >>>>>>>>>> <http://www.manning.com/bauer3/> >>>>>>>>>> JUnit in Action, Second Edition >>>>>>>>>> <http://www.manning.com/tahchiev/> >>>>>>>>>> Spring Batch in Action <http://www.manning.com/templier/> >>>>>>>>>> Blog: http://garygregory.wordpress.com >>>>>>>>>> Home: http://garygregory.com/ >>>>>>>>>> Tweet! http://twitter.com/GaryGregory >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> [image: MagineTV] >>>>>>>>> >>>>>>>>> *Mikael Ståldal* >>>>>>>>> Senior software developer >>>>>>>>> >>>>>>>>> *Magine TV* >>>>>>>>> mikael.stal...@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. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> [image: MagineTV] >>>>>>>> >>>>>>>> *Mikael Ståldal* >>>>>>>> Senior software developer >>>>>>>> >>>>>>>> *Magine TV* >>>>>>>> mikael.stal...@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. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> [image: MagineTV] >>>>>>> >>>>>>> *Mikael Ståldal* >>>>>>> Senior software developer >>>>>>> >>>>>>> *Magine TV* >>>>>>> mikael.stal...@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 <boa...@gmail.com> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> [image: MagineTV] >>>>> >>>>> *Mikael Ståldal* >>>>> Senior software developer >>>>> >>>>> *Magine TV* >>>>> mikael.stal...@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. >>>>> >>>> >>>> >>> >>> >>> -- >>> [image: MagineTV] >>> >>> *Mikael Ståldal* >>> Senior software developer >>> >>> *Magine TV* >>> mikael.stal...@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. >>> >> >> >> >> -- >> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >> Java Persistence with Hibernate, Second Edition >> <http://www.manning.com/bauer3/> >> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> >> Spring Batch in Action <http://www.manning.com/templier/> >> Blog: http://garygregory.wordpress.com >> Home: http://garygregory.com/ >> Tweet! http://twitter.com/GaryGregory >> > > > > -- > [image: MagineTV] > > *Mikael Ståldal* > Senior software developer > > *Magine TV* > mikael.stal...@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. > > -- [image: MagineTV] *Mikael Ståldal* Senior software developer *Magine TV* mikael.stal...@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.