title: Thread safety of VanillaChronicle
body: <p>I am using VanillaChronicle to write some messages to the disk.</p>
  
  <pre><code>public final class ConcurrentPersister{
  
      private final String location;
      private final Chronicle chronicle;
      private final ExcerptAppender writer;
  
      private final static int STRING_SIZE_OVERHEAD   = 1000;
      private final static String FILE_DATE_FORMAT    = "MM-dd-yyyy";
      private final static String NAME                = "ConcurrentPersister";
      private final static Logger LOGGER              = LoggerFactory.getLogger( NAME );
  
  
  
      public ConcurrentPersister( String location, VanillaChronicleConfig config ){
          this.chronicle      = new VanillaChronicle( location );
          this.writer         = chronicle.createAppender();
      }
  
  
     public final void appendMessage( final String message ){
  
          try{
  
              long length  =  STRING_SIZE_OVERHEAD + message.length();
  
              writer.startExcerpt( length );
              writer.append( message );
              writer.finish();
  
          }catch( Exception e ){
              LOGGER.warn("Failed to persist Message [{}]", message );
              LOGGER.warn("Exception: ", e );
          }
  
      }
  
  }
  </code></pre>
  
  <p>Is the appendMessage(String message) method, as shown above, thread-safe if called from multiple threads?</p>
  
  <p>I read somewhere that VanillaChronicle's append(String message) is thread-safe.
  However, am I correct in thinking that the compound action of startExcerpt() + append() + finish() is NOT thread-safe?</p>
  
  <p>Thanks.</p>