Scaffold project structure
This commit is contained in:
25
Sources/TaskCLI/Global Options.swift
Normal file
25
Sources/TaskCLI/Global Options.swift
Normal file
@@ -0,0 +1,25 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user