I created StringFormattedMessage and tested it. It is anywhere from 5 to 10 times slower than ParameterizedMessage on my Mac. But it is there if you want to use it.
Ralph On Aug 9, 2012, at 10:08 PM, Paul Benedict wrote: > On Thu, Aug 9, 2012 at 4:32 PM, Ralph Goers <[email protected]> > wrote: >> This topic has come up several times, although your request seems slightly >> different. >> >> Every log event in Log4j 2 is handled by a message object. When you specify >> logger.debug("", p1, p2) that gets converted essentially to logger.debug(new >> ParameterizedMessage("", p1, p2)); . So if you want to use a different >> message format you could create a JavaStringMessage and just do >> logger.debug(new JavaStringMessage("", p2, p2)); >> >> Most proposals to date have asked to use String.format for the whole String >> while you seem to be suggesting that each item within {} be replaced by >> whatever String.format returns from the single parameter passed to it. I >> would think that would be slower than handling the whole String. >> >> Ceki has tested java.text.MessageFormat and said that it is at least 10 >> times slower than the way ParameterizedMessage work. I don't know if he, or >> anyone else, has compared Formatter or String.format against >> ParameterizedMessage but I'd find it hard to believe it isn't considerably >> slower also. That said, if someone wants to implement it I have no problem >> adding it. If it is demonstrated to be nearly the same speed I would also >> have no problem making it the default. >> >> Ralph > > Good points. Message formatting speed isn't too much of my concern > since most of my logging is solely for DEBUG/TRACE level. I will > investigate if there's a happy medium and get back to you. > > Paul > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
