* 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:
		
							parent
							
								
									79bb0008ec
								
							
						
					
					
						commit
						777e13b94b
					
				
					 3 changed files with 52 additions and 7 deletions
				
			
		|  | @ -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(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue