summaryrefslogtreecommitdiff
path: root/chef-config
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2020-04-27 11:30:24 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2020-04-27 11:30:24 -0700
commit75730dec1e797d23356c20c81a7566ac6e52c368 (patch)
treecc170265556f581118dc15ac651b794bb7091c6a /chef-config
parent7322308da2f96acb01a494152c2ccc6ced90715b (diff)
downloadchef-75730dec1e797d23356c20c81a7566ac6e52c368.tar.gz
Logging consistency fixes.lcg/chef-16-logging-fixed
- The doc formatter is now Chef::Config[:log_location]-aware and will log to files as well - There is now consistency where doc formatter output never surprisingly changes to log formatter based on destination - The "cli" log_location and the "config" log_location are now treated separately, so a log_location in the client.rb will always force output to a logfile, in addition to output to STDOUT if necessary - The logic around STDOUT is now simplified, if its open we log to it, if its closed we don't, if you're daemonized we assume you're capturing STDOUT via your process manager - The log_location variables are now Arrays Things not done: - The cli can't specify an array, it would be nice to support an accumulator pattern here. Would also need to support disabling STDOUT logging though. - Using the syslog or winevt logging devices requires the use of the logger, which precludes using the formatter. - Some people may want to have log-formatter style output to the log file and doc formatter style output to STDOUT which is not very possible right now. Right now we are consistent in that you get either the logger both places or the formatter both places. This use case is complicated by the fact that they will want :info level logging for the logger, but :warn level logging for the doc formatter and that is another global. - To do that latter thing right would probably require sending log messages to the formatter, and supporting a different log level in the formatter vs. the logger and then supporting the STDOUT/cli loggging being the formatter, while the log_location/config logging being the logger. Those were way out of scope for what I could get done for Chef-16. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'chef-config')
-rw-r--r--chef-config/.rspec2
-rw-r--r--chef-config/Rakefile1
-rw-r--r--chef-config/lib/chef-config/config.rb2
3 files changed, 2 insertions, 3 deletions
diff --git a/chef-config/.rspec b/chef-config/.rspec
deleted file mode 100644
index eb3ef03653..0000000000
--- a/chef-config/.rspec
+++ /dev/null
@@ -1,2 +0,0 @@
---color
--fd
diff --git a/chef-config/Rakefile b/chef-config/Rakefile
index df2f59e298..4bb4605e0c 100644
--- a/chef-config/Rakefile
+++ b/chef-config/Rakefile
@@ -6,6 +6,7 @@ begin
require "rspec/core/rake_task"
desc "Run standard specs"
RSpec::Core::RakeTask.new(:spec) do |t|
+ t.verbose = false
t.pattern = FileList["spec/**/*_spec.rb"]
end
rescue LoadError
diff --git a/chef-config/lib/chef-config/config.rb b/chef-config/lib/chef-config/config.rb
index d37e8f1104..e7a92c6b6d 100644
--- a/chef-config/lib/chef-config/config.rb
+++ b/chef-config/lib/chef-config/config.rb
@@ -392,7 +392,7 @@ module ChefConfig
default :log_level, :auto
# Logging location as either an IO stream or string representing log file path
- default :log_location, STDOUT
+ default :log_location, nil
# Using `force_formatter` causes chef to default to formatter output when STDOUT is not a tty
default :force_formatter, false