diff --git a/src/exec.cc b/src/exec.cc index d4ee88f8aaf61f1fb6bc7992edca5017bb2508b6..e9ddb5ee14cad9e752a4e9ad074c8abc8cd83374 100644 --- a/src/exec.cc +++ b/src/exec.cc @@ -43,8 +43,12 @@ void runProgram(const string & program, { /* Create a log file. */ string logFileName = nixLogDir + "/run.log"; + string logCommand = + verbosity >= lvlDebug + ? "tee -a " + logFileName + " >&2" + : "cat >> " + logFileName; /* !!! auto-pclose on exit */ - FILE * logFile = popen(("tee -a " + logFileName + " >&2").c_str(), "w"); /* !!! escaping */ + FILE * logFile = popen(logCommand.c_str(), "w"); /* !!! escaping */ if (!logFile) throw SysError(format("creating log file `%1%'") % logFileName);