|
For example, this code:
SimpleLogger logger = new SimpleLogger();
logger.getListenerContainer().add( new ConsoleListener() ); // output to System.out w/o timestamp
logger.info( new int[] { 16, 32, 64 } );
Outputs:
(INFO) Type: [I; ToString: [I@443226
Logahawk outputs the "toString()" of the given object when it cannot find an appropriate
ArgumentFormatter. Its the best Logahawk can do, but its still not very good.
See the difference when we add an
ArrayArgFormatter!
SimpleLogger logger = new SimpleLogger();
logger.getListenerContainer().add( new ConsoleListener() ); // output to System.out w/o timestamp
logger.getArgumentContainer().add( new ArrayArgFormatter() ); // !!! formats arrays
logger.getArgumentContainer().add( new PrimitiveArgFormatter() ); // !!! formats primitives (our integers)
logger.info( new int[] { 16, 32, 64 } );
Output:
(INFO) (3 items in collection)
[ 0 ] 16
[ 1 ] 32
[ 2 ] 64
Much better!
|