From f4b6b2c2876bb29c01bfd95f55347e7d74222974 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" 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