Module: Net::TCPClient::Logging

Defined in:
lib/net/tcp_client/logging.rb

Overview

Purpose: Support SemanticLogger API without forcing a dependency on SemanticLogger

This Mix-in has been copied from semantic_logger/compatible

Do not modify this file, grab the latest version from Semantic Logger

Defined Under Namespace

Modules: InstanceMethods

Class Method Summary collapse

Class Method Details

.new_logger(logger = nil, name = nil, log_level = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/net/tcp_client/logging.rb', line 11

def self.new_logger(logger=nil, name=nil, log_level=nil)
  # SemanticLogger is a soft dependency, use it if already loaded
  if defined?(SemanticLogger)
    SemanticLogger::Logger.new(name, log_level)
  elsif logger && !logger.respond_to?(:benchmark_trace)
    logger.extend(InstanceMethods)
    logger
  else
    # Return a nil logger
    require 'logger'
    logger       = Logger.new($null)
    logger.level = Logger::FATAL
    logger.extend(InstanceMethods)
    logger
  end
end