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.

Reply via email to