From f4b6b2c2876bb29c01bfd95f55347e7d74222974 Mon Sep 17 00:00:00 2001
From: "Kartik K. Agaram" <vc@akkartik.com>
Date: Thu, 19 Feb 2015 15:36:49 -0800
Subject: 784 - persist traces in literate version

---
 cpp/002trace | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

(limited to 'cpp/002trace')

diff --git a/cpp/002trace b/cpp/002trace
index 4d584cb1..e3ebd17e 100644
--- a/cpp/002trace
+++ b/cpp/002trace
@@ -185,9 +185,20 @@ ostream& operator<<(ostream& os, unused die) {
 #define DUMP(layer)  cerr << Trace_stream->readable_contents(layer)
 
 // Trace_stream is a resource, lease_tracer uses RAII to manage it.
+string Trace_file;
+static string Trace_dir = ".traces/";
 struct lease_tracer {
   lease_tracer() { Trace_stream = new trace_stream; }
-  ~lease_tracer() { delete Trace_stream, Trace_stream = NULL; }
+  ~lease_tracer() {
+//?     cerr << "write to file? " << Trace_file << "$\n"; //? 2
+    if (!Trace_file.empty()) {
+//?       cerr << "writing\n"; //? 2
+      ofstream fout((Trace_dir+Trace_file).c_str());
+      fout << Trace_stream->readable_contents("");
+      fout.close();
+    }
+    delete Trace_stream, Trace_stream = NULL, Trace_file = "";
+  }
 };
 
 #define START_TRACING_UNTIL_END_OF_SCOPE  lease_tracer leased_tracer;
-- 
cgit 1.4.1-2-gfad0