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: Logback dev list


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