1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-27 04:21:16 +02:00

* Nix now has three different formats for the log information it

writes to stderr:
  
  - `pretty': the old nested style (default)
  - `escapes': uses escape codes to indicate nesting and message
    level; can be processed using `log2xml'
  - `flat': just plain text, no nesting

  These can be set using `--log-type TYPE' or the NIX_LOG_TYPE
  environment variable.
This commit is contained in:
Eelco Dolstra 2004-03-22 20:53:49 +00:00
parent 79bb0008ec
commit 777e13b94b
3 changed files with 52 additions and 7 deletions

View file

@ -18,6 +18,15 @@ void sigintHandler(int signo)
}
void setLogType(string lt)
{
if (lt == "pretty") logType = ltPretty;
else if (lt == "escapes") logType = ltEscapes;
else if (lt == "flat") logType = ltFlat;
else throw UsageError("unknown log type");
}
/* Initialize and reorder arguments, then call the actual argument
processor. */
static void initAndRun(int argc, char * * argv)
@ -44,6 +53,10 @@ static void initAndRun(int argc, char * * argv)
if (sigaction(SIGINT, &act, &oact))
throw SysError("installing handler for SIGINT");
/* Process the NIX_LOG_TYPE environment variable. */
char * lt = getenv("NIX_LOG_TYPE");
if (lt) setLogType(lt);
/* Put the arguments in a vector. */
Strings args, remaining;
while (argc--) args.push_back(*argv++);
@ -72,7 +85,11 @@ static void initAndRun(int argc, char * * argv)
string arg = *i;
if (arg == "--verbose" || arg == "-v")
verbosity = (Verbosity) ((int) verbosity + 1);
else if (arg == "--build-output" || arg == "-B")
else if (arg == "--log-type") {
++i;
if (i == args.end()) throw UsageError("`--log-type' requires an argument");
setLogType(*i);
} else if (arg == "--build-output" || arg == "-B")
buildVerbosity = lvlError; /* lowest */
else if (arg == "--help") {
printHelp();