logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Serializable Logger
Date Tue, 26 Jul 2016 11:46:02 GMT
I haven't tried. 

Sent from my iPhone

> On 2016/07/26, at 20:08, Mikael Ståldal <mikael.staldal@magine.com> wrote:
> 
> It seems like this should be the case already:
> 
> https://issues.apache.org/jira/browse/LOG4J2-801
> 
> What about AsyncLogger though?
> 
>> On Tue, Jul 26, 2016 at 12:07 PM, Mikael Ståldal <mikael.staldal@magine.com>
wrote:
>> That deserialized loggers work (given that all needed dependencies are on classpath)
is a reasonable expectation. If we cannot guarantee that, then we should not declare that
loggers are serializable.
>> 
>>> On Tue, Jul 26, 2016 at 11:45 AM, Remko Popma <remko.popma@gmail.com> wrote:
>>> Sure. What is the expectation here?
>>> Do deserialized Loggers work?
>>> 
>>> Sent from my iPhone
>>> 
>>>> On 2016/07/26, at 17:26, Mikael Ståldal <mikael.staldal@magine.com>
wrote:
>>>> 
>>>> Can we at least document that we guarantee that Loggers from log4j-impl are
always serializable?
>>>> 
>>>>> On Tue, Jul 26, 2016 at 1:52 AM, Remko Popma <remko.popma@gmail.com>
wrote:
>>>>> 
>>>>>> On 2016/07/26, at 1:43, Mikael Ståldal <mikael.staldal@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 <garydgregory@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.staldal@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.popma@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.staldal@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
<boards@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.staldal@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.staldal@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.goers@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.staldal@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 <garydgregory@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.staldal@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 <boards@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.goers@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.staldal@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 <garydgregory@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.staldal@magine.com> wrote:
>>>>>>>>>>>>>>>>>>>>>> Are
there any providers not using AbstractLogger?
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>
On Thu, Jul 21, 2016 at 6:09 PM, Gary Gregory <garydgregory@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.staldal@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.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.   
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> --

>>>>>>>>>>>>>>>>>>>>>> 

>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> Mikael
Ståldal
>>>>>>>>>>>>>>>>>>>>>> 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.   
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>>>>>>> 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
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Mikael Ståldal
>>>>>>>>>>>>>>>>>>>> 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 <boards@gmail.com>
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Mikael Ståldal
>>>>>>>>>>>>>>>>> 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.   
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>> 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
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Mikael Ståldal
>>>>>>>>>>>>>>> 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.   
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>  
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Mikael Ståldal
>>>>>>>>>>>>> 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.   
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> -- 
>>>>>>>>>>>>  
>>>>>>>>>>>> 
>>>>>>>>>>>> Mikael Ståldal
>>>>>>>>>>>> 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 <boards@gmail.com>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> -- 
>>>>>>>>>>  
>>>>>>>>>> 
>>>>>>>>>> Mikael Ståldal
>>>>>>>>>> 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.   
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>>  
>>>>>>>> 
>>>>>>>> Mikael Ståldal
>>>>>>>> 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.   
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> 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
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>>  
>>>>>> 
>>>>>> Mikael Ståldal
>>>>>> 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.   
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>>  
>>>> 
>>>> Mikael Ståldal
>>>> 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.
  
>> 
>> 
>> 
>> -- 
>>  
>> 
>> Mikael Ståldal
>> 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.   
> 
> 
> 
> -- 
>  
> 
> Mikael Ståldal
> 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.   

Mime
View raw message