diff --git a/src/tracelog.rs b/src/tracelog.rs index 799f205..c4915ff 100644 --- a/src/tracelog.rs +++ b/src/tracelog.rs @@ -15,8 +15,11 @@ impl Logger { Logger(None) } + /// Truncates any existing file at `path` -- each run starts a fresh + /// log, so a re-run never leaves stale lines from a previous attempt + /// mixed in with (or mistaken for) the current one. pub fn open(path: &Path) -> std::io::Result { - let f = OpenOptions::new().create(true).append(true).open(path)?; + let f = OpenOptions::new().create(true).write(true).truncate(true).open(path)?; Ok(Logger(Some(Mutex::new(f)))) }