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