Update initial logger configuration to properly apply

This commit is contained in:
Chris Roberts 2022-01-11 17:02:30 -08:00 committed by Paul Hinze
parent ec68f6d910
commit 4bcef5de84
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0

View File

@ -2,6 +2,9 @@ require "log4r"
# Add patches to log4r to support trace level
require "vagrant/patches/log4r"
# Set our log levels and include trace
require 'log4r/configurator'
Log4r::Configurator.custom_levels(*(["TRACE"] + Log4r::Log4rConfig::LogLevels))
# Update the default formatter within the log4r library to ensure
# sensitive values are being properly scrubbed from logger data
@ -48,16 +51,10 @@ require "vagrant/plugin/manager"
# anything else so that we can setup the output before
# any logging occurs.
if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != ""
# Require Log4r and define the levels we'll be using
require 'log4r/configurator'
Log4r::Configurator.custom_levels(*(["TRACE"] + Log4r::Log4rConfig::LogLevels))
level = Log4r::LNAMES.index(ENV["VAGRANT_LOG"].upcase)
# Some constants, such as "true" resolve to booleans, so the
# above error checking doesn't catch it. This will check to make
# sure that the log level is an integer, as Log4r requires.
level = nil if !level.is_a?(Integer)
if level.nil?
level = Log4r::LNAMES.index("FATAL")
end
if !level
# We directly write to stderr here because the VagrantError system
@ -81,13 +78,16 @@ if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != ""
end
end
logger = VagrantLogger.new("vagrant")
if ENV["VAGRANT_LOG_FILE"] && ENV["VAGRANT_LOG_FILE"] != ""
logger.outputters = Log4r::FileOutputter.new("vagrant", filename: ENV["VAGRANT_LOG_FILE"])
else
logger.outputters = Log4r::Outputter.stderr
["vagrant", "vagrantplugins"].each do |lname|
logger = VagrantLogger.new(lname)
if ENV["VAGRANT_LOG_FILE"] && ENV["VAGRANT_LOG_FILE"] != ""
logger.outputters = Log4r::FileOutputter.new("vagrant", filename: ENV["VAGRANT_LOG_FILE"])
else
logger.outputters = Log4r::Outputter.stderr
end
logger.level = level
end
logger.level = level
base_formatter = Log4r::BasicFormatter.new
if ENV["VAGRANT_LOG_TIMESTAMP"]
base_formatter = Log4r::PatternFormatter.new(
@ -97,7 +97,6 @@ if ENV["VAGRANT_LOG"] && ENV["VAGRANT_LOG"] != ""
end
Log4r::Outputter.stderr.formatter = Vagrant::Util::LoggingFormatter.new(base_formatter)
logger = nil
end
end