@@ -45,6 +45,41 @@ def self.use_simple_logger(level = Logger::FATAL, output = $stderr)
45
45
Concurrent . global_logger = create_simple_logger level , output
46
46
end
47
47
48
+ # @return [Logger] Logger with provided level and output.
49
+ # @deprecated
50
+ def self . create_stdlib_logger ( level = Logger ::FATAL , output = $stderr)
51
+ logger = Logger . new ( output )
52
+ logger . level = level
53
+ logger . formatter = lambda do |severity , datetime , progname , msg |
54
+ formatted_message = case msg
55
+ when String
56
+ msg
57
+ when Exception
58
+ format "%s (%s)\n %s" ,
59
+ msg . message , msg . class , ( msg . backtrace || [ ] ) . join ( "\n " )
60
+ else
61
+ msg . inspect
62
+ end
63
+ format "[%s] %5s -- %s: %s\n " ,
64
+ datetime . strftime ( '%Y-%m-%d %H:%M:%S.%L' ) ,
65
+ severity ,
66
+ progname ,
67
+ formatted_message
68
+ end
69
+
70
+ lambda do |loglevel , progname , message = nil , &block |
71
+ logger . add loglevel , message , progname , &block
72
+ end
73
+ end
74
+
75
+ # Use logger created by #create_stdlib_logger to log concurrent-ruby messages.
76
+ # @deprecated
77
+ def self . use_stdlib_logger ( level = Logger ::FATAL , output = $stderr)
78
+ Concurrent . global_logger = create_stdlib_logger level , output
79
+ end
80
+
81
+ # TODO (pitr-ch 27-Dec-2016): remove deadlocking stdlib_logger methods
82
+
48
83
# Suppresses all output when used for logging.
49
84
NULL_LOGGER = lambda { |level , progname , message = nil , &block | }
50
85
0 commit comments