@@ -132,6 +132,7 @@ isless(a::LogLevel, b::LogLevel) = isless(a.level, b.level)
132132+ (level:: LogLevel , inc:: Integer ) = LogLevel (level. level+ inc)
133133- (level:: LogLevel , inc:: Integer ) = LogLevel (level. level- inc)
134134convert (:: Type{LogLevel} , level:: Integer ) = LogLevel (level)
135+ convert (:: Type{Int32} , level:: LogLevel ) = level. level
135136
136137"""
137138 BelowMinLevel
@@ -171,7 +172,7 @@ Alias for [`LogLevel(1_000_001)`](@ref LogLevel).
171172const AboveMaxLevel = LogLevel ( 1000001 )
172173
173174# Global log limiting mechanism for super fast but inflexible global log limiting.
174- const _min_enabled_level = Ref {LogLevel } (Debug)
175+ const _min_enabled_level = Threads . Atomic {Int32 } (Debug)
175176
176177function show (io:: IO , level:: LogLevel )
177178 if level == BelowMinLevel print (io, " BelowMinLevel" )
@@ -394,7 +395,7 @@ function logmsg_code(_module, file, line, level, message, exs...)
394395 level = $ level
395396 # simplify std_level code emitted, if we know it is one of our global constants
396397 std_level = $ (level isa Symbol ? :level : :(level isa $ LogLevel ? level : convert ($ LogLevel, level):: $LogLevel ))
397- if std_level >= $ ( _min_enabled_level) []
398+ if std_level. level >= _min_enabled_level[]
398399 group = $ (log_data. _group)
399400 _module = $ (log_data. _module)
400401 logger = $ (current_logger_for_env)(std_level, group, _module)
0 commit comments