That would be one way to find out how many custom implementations there are. I bet nearly every one of them would complain.
Ralph > On Jul 25, 2016, at 9:56 AM, Matt Sicker <boa...@gmail.com> wrote: > > Wouldn't it also be kind of an evil thing to do by adding Serializable to > Logger mid-2.x? That kind of decision seems to be an x.0 type of decision. > > On 25 July 2016 at 11:55, Gary Gregory <garydgreg...@gmail.com > <mailto:garydgreg...@gmail.com>> wrote: > Roger that. I suppose that we could make that part of an epic and note that > Log4j's own implementations are fully supported (or not and which ones). > > I'm still not convinced that this is a "good thing" at the interface level > because we could only document what each of our Logger implementations > support instead without "forcing" the interface on other 3rd party impls > (which I have no idea if there are any.) > > Gary > > On Mon, Jul 25, 2016 at 9:43 AM, Mikael Ståldal <mikael.stal...@magine.com > <mailto:mikael.stal...@magine.com>> wrote: > The purpose is that the user of Log4j can be sure that the Logger is > serializable. > > On Mon, Jul 25, 2016 at 6:38 PM, Gary Gregory <garydgreg...@gmail.com > <mailto: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 > <mailto: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 > <mailto: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 > <mailto: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 > <mailto: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 > <mailto: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 > <mailto: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 > <mailto: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 >> <mailto: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 >> <mailto: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 >> <mailto: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 >> <mailto: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 >> <mailto: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 >>> <mailto: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 >>> <mailto: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 >>> <mailto: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 >>> <mailto: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 >>> <mailto: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 <mailto:mikael.stal...@magine.com> >>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>> <http://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 <mailto:mikael.stal...@magine.com> >>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>> <http://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 <mailto:garydgreg...@gmail.com> | >>> ggreg...@apache.org <mailto: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 <http://garygregory.wordpress.com/> >>> Home: http://garygregory.com/ <http://garygregory.com/> >>> Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory> >>> >>> >>> -- >>> >>> >>> Mikael Ståldal >>> Senior software developer >>> >>> Magine TV >>> mikael.stal...@magine.com <mailto:mikael.stal...@magine.com> >>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>> <http://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 <mailto:boa...@gmail.com>> >> >> >> >> -- >> >> >> Mikael Ståldal >> Senior software developer >> >> Magine TV >> mikael.stal...@magine.com <mailto:mikael.stal...@magine.com> >> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >> <http://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 <mailto:garydgreg...@gmail.com> | >> ggreg...@apache.org <mailto: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 <http://garygregory.wordpress.com/> >> Home: http://garygregory.com/ <http://garygregory.com/> >> Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory> >> >> >> -- >> >> >> Mikael Ståldal >> Senior software developer >> >> Magine TV >> mikael.stal...@magine.com <mailto:mikael.stal...@magine.com> >> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >> <http://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 <mailto:mikael.stal...@magine.com> > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > <http://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 <mailto:mikael.stal...@magine.com> > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > <http://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 <mailto:boa...@gmail.com>> > > > > -- > > > Mikael Ståldal > Senior software developer > > Magine TV > mikael.stal...@magine.com <mailto:mikael.stal...@magine.com> > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > <http://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 <mailto:mikael.stal...@magine.com> > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > <http://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 <mailto:garydgreg...@gmail.com> | > ggreg...@apache.org <mailto: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 <http://garygregory.wordpress.com/> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory> > > > -- > > > Mikael Ståldal > Senior software developer > > Magine TV > mikael.stal...@magine.com <mailto:mikael.stal...@magine.com> > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > <http://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 <mailto:garydgreg...@gmail.com> | > ggreg...@apache.org <mailto: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 <http://garygregory.wordpress.com/> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory> > > > -- > Matt Sicker <boa...@gmail.com <mailto:boa...@gmail.com>>