module Protobuf::Logging
def self.initialize_logger(log_target=$stdout, log_level=::Logger::INFO)
def self.initialize_logger(log_target=$stdout, log_level=::Logger::INFO) @counter ||= 0 @counter = @counter + 1 @logger = Logger.new(log_target) @logger.level = log_level @logger end
def self.logger
def self.logger defined?(@logger) ? @logger : initialize_logger end
def self.logger=(new_logger)
def self.logger=(new_logger) @logger = new_logger end
def log_exception(ex)
def log_exception(ex) logger.error { ex.message } logger.error { ex.backtrace[0..5].join("\n") } logger.debug { ex.backtrace.join("\n") } end
def log_signature
def log_signature @_log_signature ||= "[#{self.class == Class ? self.name : self.class.name}]" end
def logger
def logger ::Protobuf::Logging.logger end
def sign_message(message)
def sign_message(message) "#{log_signature} #{message}" end