[ 
http://jira.qos.ch/browse/LBCLASSIC-201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11708#action_11708
 ] 

Ceki Gulcu commented on LBCLASSIC-201:
--------------------------------------

What if the user could ensure that the object type was also available on the 
receiving end? In that case, logback could safely write the object form for the 
appropriate types. We just need a way for the user to specify which types are 
safe (by default all types are unsafe). However, I agree that without such 
precautions the receiving end will see ClassNotFoundExceptions. 

> Preferably don't call toString() on objects in arguments array
> --------------------------------------------------------------
>
>                 Key: LBCLASSIC-201
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-201
>             Project: logback-classic
>          Issue Type: Improvement
>          Components: appender
>    Affects Versions: 0.9.19
>         Environment: Software platform
>            Reporter: Donald Graham
>            Assignee: Ceki Gulcu
>
> I'm attempting to use a SocketAppender to send log events over the network to 
> a custom appender hosted by SimpleSocketServer.  My custom appender needs to 
> work with my arguments as objects, rather than strings.  I noticed that the 
> string representations of my arguments were being passed across the network, 
> and traced through to the code shown below (from 
> ch.qos.logback.classic.spi.LoggingEventVO).  Would you consider sending the 
> object's serialized form instead (assuming the object is serializable)? 
>   private void writeObject(ObjectOutputStream out) throws IOException {
>     out.defaultWriteObject();
>     out.writeInt(level.levelInt);
>     if (argumentArray != null) {
>       int len = argumentArray.length;
>       out.writeInt(len);
>       for (int i = 0; i < argumentArray.length; i++) {
>         if (argumentArray[i] != null) {
>           out.writeObject(argumentArray[i].toString());
>         } else {
>           out.writeObject(NULL_ARGUMENT_ARRAY_ELEMENT);
>         }
>       }
>     } else {
>       out.writeInt(NULL_ARGUMENT_ARRAY);
>     }
>   }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to