- JavacLogger.msgs uses ListBuffer for constant time append
- Synchronized access to JavacLogger.msgs since appends comes from multiple
threads
- JavacLogger.info uses Level.Info instead of Level.Debug
- Wrapped call to javac in allCatch to guarantee logger being flushed