@@ -45,6 +45,41 @@ def self.use_simple_logger(level = Logger::FATAL, output = $stderr)
4545 Concurrent . global_logger = create_simple_logger level , output
4646 end
4747
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+
4883 # Suppresses all output when used for logging.
4984 NULL_LOGGER = lambda { |level , progname , message = nil , &block | }
5085
0 commit comments