Log info and nicer to stdout, worse to stderr. Colorize only on tty.

This commit is contained in:
Roberto Alsina 2024-07-04 22:34:13 -03:00
parent ff454de0fd
commit 50ac476437
3 changed files with 43 additions and 17 deletions

12
src/commands/new.cr Normal file
View File

@ -0,0 +1,12 @@
module Faaso
module Commands
# Creates a new empty funko out of a given runtime
struct New
def run(options, folder)
if options["RUNTIME"].as(String) == "list"
Log.info {"Known runtimes:"}
end
end
end
end
end

View File

@ -1,5 +1,6 @@
require "./commands/build.cr" require "./commands/build.cr"
require "./commands/export.cr" require "./commands/export.cr"
require "./commands/new.cr"
require "./commands/scale.cr" require "./commands/scale.cr"
require "./commands/secret.cr" require "./commands/secret.cr"
require "./commands/status.cr" require "./commands/status.cr"

View File

@ -18,17 +18,26 @@ struct LogFormat < Log::StaticFormatter
end end
def self.setup(verbosity) def self.setup(verbosity)
_verbosity = [ Colorize.on_tty_only!
Log::Severity::Fatal, if verbosity < 3
Log::Severity::Error, _verbosity = [
Log::Severity::Warn, Log::Severity::Fatal,
Log::Severity::Info, Log::Severity::Error,
Log::Severity::Debug, Log::Severity::Warn,
Log::Severity::Trace, ][[verbosity, 2].min]
][[verbosity, 5].min] Log.setup(
_verbosity,
Log::IOBackend.new(io: STDERR, formatter: LogFormat)
)
end
_verbosity = [Log::Severity::Info,
Log::Severity::Debug,
Log::Severity::Trace,
][[verbosity - 3, 3].min]
Log.setup( Log.setup(
_verbosity, _verbosity,
Log::IOBackend.new(io: STDERR, formatter: LogFormat) Log::IOBackend.new(io: STDOUT, formatter: LogFormat)
) )
end end
end end
@ -38,17 +47,19 @@ FaaSO CLI tool.
Usage: Usage:
faaso build FOLDER ... [-v=<level>] [-l] faaso build FOLDER ... [-v=<level>] [-l]
faaso scale FUNKO [SCALE] [-v=<level>] [-l]
faaso status FUNKO [-v=<level>] [-l]
faaso export SOURCE DESTINATION [-v=<level>] faaso export SOURCE DESTINATION [-v=<level>]
faaso new -r <RUNTIME> FOLDER [-v=<level>]
faaso scale FUNKO [SCALE] [-v=<level>] [-l]
faaso secret [-d|-a] FUNKO SECRET [-v=<level>] [-l] faaso secret [-d|-a] FUNKO SECRET [-v=<level>] [-l]
faaso status FUNKO [-v=<level>] [-l]
faaso version
Options: Options:
-l --local Run commands locally instead of against a FaaSO server.
-h --help Show this screen.
-d --delete Delete
-a --add Add -a --add Add
--version Show version. -d --delete Delete
-h --help Show this screen
-l --local Run commands locally instead of against a FaaSO server
-r --runtime Runtime for the new funko (use -r list for examples)
-v=level Control the logging verbosity, 0 to 5 [default: 3] -v=level Control the logging verbosity, 0 to 5 [default: 3]
DOC DOC
@ -61,10 +72,12 @@ when .fetch("build", false)
Faaso::Commands::Build.new.run(ans, ans["FOLDER"].as(Array(String))) Faaso::Commands::Build.new.run(ans, ans["FOLDER"].as(Array(String)))
when .fetch("export", false) when .fetch("export", false)
Faaso::Commands::Export.new.run(ans, ans["SOURCE"].as(String), ans["DESTINATION"].as(String)) Faaso::Commands::Export.new.run(ans, ans["SOURCE"].as(String), ans["DESTINATION"].as(String))
# when .fetch("new", false)
# Faaso::Commands::New.new.run(ans, ans["FOLDER"].as(String))
when .fetch("scale", false) when .fetch("scale", false)
Faaso::Commands::Scale.new.run(ans, ans["FUNKO"].as(String), ans["SCALE"]) Faaso::Commands::Scale.new.run(ans, ans["FUNKO"].as(String), ans["SCALE"])
when .fetch("status", false)
Faaso::Commands::Status.new.run(ans, ans["FUNKO"].as(String))
when .fetch("secret", false) when .fetch("secret", false)
Faaso::Commands::Secret.new.run(ans, ans["FUNKO"].as(String), ans["SECRET"].as(String)) Faaso::Commands::Secret.new.run(ans, ans["FUNKO"].as(String), ans["SECRET"].as(String))
when .fetch("status", false)
Faaso::Commands::Status.new.run(ans, ans["FUNKO"].as(String))
end end