From 32646922e3aee688526ddbeab15255e5b525c22f Mon Sep 17 00:00:00 2001 From: Curtis Vogt Date: Thu, 1 Oct 2020 10:19:27 -0500 Subject: [PATCH] Declare `level` type for `default_metafmt` Makes `@nospecialize` use precisely `LogLevel` instead of `Any`. --- base/logging.jl | 4 ++-- stdlib/Logging/src/ConsoleLogger.jl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/base/logging.jl b/base/logging.jl index ec0921288852c..ef97c14f2df6f 100644 --- a/base/logging.jl +++ b/base/logging.jl @@ -350,7 +350,7 @@ function logmsg_code(_module, file, line, level, message, exs...) let level = $level std_level = convert(LogLevel, level) - if std_level >= getindex(_min_enabled_level) + if std_level >= _min_enabled_level[] group = $(log_data._group) _module = $(log_data._module) logger = current_logger_for_env(std_level, group, _module) @@ -458,7 +458,7 @@ function logmsg_shim(level, message, _module, group, id, file, line, kwargs) end # Global log limiting mechanism for super fast but inflexible global log limiting. -const _min_enabled_level = Ref(Debug) +const _min_enabled_level = Ref{LogLevel}(Debug) # LogState - a cache of data extracted from the logger, plus the logger itself. struct LogState diff --git a/stdlib/Logging/src/ConsoleLogger.jl b/stdlib/Logging/src/ConsoleLogger.jl index 8bc51c0d0b770..c10e758de1f44 100644 --- a/stdlib/Logging/src/ConsoleLogger.jl +++ b/stdlib/Logging/src/ConsoleLogger.jl @@ -50,14 +50,14 @@ function showvalue(io, e::Tuple{Exception,Any}) end showvalue(io, ex::Exception) = showerror(io, ex) -function default_logcolor(level) +function default_logcolor(level::LogLevel) level < Info ? Base.debug_color() : level < Warn ? Base.info_color() : level < Error ? Base.warn_color() : Base.error_color() end -function default_metafmt(level, _module, group, id, file, line) +function default_metafmt(level::LogLevel, _module, group, id, file, line) @nospecialize color = default_logcolor(level) prefix = (level == Warn ? "Warning" : string(level))*':'