summaryrefslogtreecommitdiff
path: root/lib/mime/types/logger.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mime/types/logger.rb')
-rw-r--r--lib/mime/types/logger.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/mime/types/logger.rb b/lib/mime/types/logger.rb
new file mode 100644
index 0000000..2f0b858
--- /dev/null
+++ b/lib/mime/types/logger.rb
@@ -0,0 +1,35 @@
+# -*- ruby encoding: utf-8 -*-
+
+require 'logger'
+
+module MIME
+ class Types
+ class << self
+ # Configure the MIME::Types logger. This defaults to an instance of a
+ # logger that passes messages (unformatted) through to Kernel#warn.
+ attr_accessor :logger
+ end
+
+ class WarnLogger < ::Logger #:nodoc:
+ class WarnLogDevice < ::Logger::LogDevice #:nodoc:
+ def initialize(*)
+ end
+
+ def write(m)
+ Kernel.warn(m)
+ end
+
+ def close
+ end
+ end
+
+ def initialize(_1, _2 = nil, _3 = nil)
+ super nil
+ @logdev = WarnLogDevice.new
+ @formatter = ->(_s, _d, _p, m) { m }
+ end
+ end
+
+ self.logger = WarnLogger.new(nil)
+ end
+end