26 lines
478 B
Swift
26 lines
478 B
Swift
import ArgumentParser
|
|
import Logging
|
|
|
|
struct GlobalOptions: ParsableArguments {
|
|
@Flag(
|
|
name: .short,
|
|
help: "Increase logging verbosity. Use -v, -vv, or -vvv."
|
|
)
|
|
var verbose: Int
|
|
|
|
var logLevel: Logger.Level {
|
|
switch verbose {
|
|
case 0: return .notice
|
|
case 1: return .info
|
|
case 2: return .debug
|
|
default: return .trace
|
|
}
|
|
}
|
|
|
|
func makeLogger(labeled label: String) -> Logger {
|
|
var logger = Logger(label: label)
|
|
logger.logLevel = logLevel
|
|
return logger
|
|
}
|
|
}
|