> 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? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 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. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 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 >>>>>>>>>>>>>>>> JUnit in Action, Second Edition >>>>>>>>>>>>>>>> Spring Batch in Action >>>>>>>>>>>>>>>> Blog: http://garygregory.wordpress.com >>>>>>>>>>>>>>>> Home: http://garygregory.com/ >>>>>>>>>>>>>>>> Tweet! http://twitter.com/GaryGregory >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 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> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> 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 >>>>>>>>>>> JUnit in Action, Second Edition >>>>>>>>>>> Spring Batch in Action >>>>>>>>>>> Blog: http://garygregory.wordpress.com >>>>>>>>>>> Home: http://garygregory.com/ >>>>>>>>>>> Tweet! http://twitter.com/GaryGregory >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 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. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> >>>>>>>> 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. >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> >>>>>>> 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> >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> >>>>> 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. >>> >>> >>> >>> -- >>> >>> >>> 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 >> JUnit in Action, Second Edition >> Spring Batch in Action >> Blog: http://garygregory.wordpress.com >> Home: http://garygregory.com/ >> Tweet! http://twitter.com/GaryGregory > > > > -- > > > 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. >