class Coralogix::CoralogixLogger

Public Class Methods

new(private_key, app_name, sub_system_name, debug=false, type_name="Centralized Ruby", force_compression=false, proxy={}) click to toggle source

Constructor.

@param name - logger name.

# File lib/centralized_ruby_logger.rb, line 11
def initialize private_key, app_name, sub_system_name, debug=false, type_name="Centralized Ruby", force_compression=false, proxy={}, external_logger=nil
    self.debug_mode=debug            
    @category = CORALOGIX_CATEGORY
    @manager = LoggerManager.new proxy
    unless external_logger.nil?
        DebugLogger.enabled = true
        DebugLogger.external = true
        DebugLogger.logger = external_logger
    end
    configure(private_key, app_name, sub_system_name, type_name, force_compression)
end

Public Instance Methods

configure(private_key, app_name, sub_system, type_name, force_compression) click to toggle source

Configure coralogix logger with customer specific values

@param private_key - private key @param app_name - application name @param sub_system - sub system name @param type_name - type name @param force_compression - when true, will not send the raw data if data compression failed @return [boolean] return a true or false.

# File lib/centralized_ruby_logger.rb, line 58
def configure private_key, app_name, sub_system, type_name, force_compression
    private_key = (private_key.nil? || private_key.to_s.strip.empty?) ? FAILED_PRIVATE_KEY : private_key
    app_name = (app_name.nil? || app_name.to_s.strip.empty?) ? NO_APP_NAME : app_name
    sub_system = (sub_system.nil? || sub_system.to_s.strip.empty?) ? NO_SUB_SYSTEM : sub_system
    @manager.set_logger_type_name type_name
    @manager.force_compression = force_compression
    @manager.configure(:privateKey => private_key, :applicationName => app_name, :subsystemName => sub_system) unless @manager.configured
end
debug_mode=(value) click to toggle source

A setter for debug_mode.

Default value is false. When set to true the coralogix logger will print output messages to a console and a file.

@param value - true or false. (Default is false)

# File lib/centralized_ruby_logger.rb, line 37
def debug_mode=(value)
    DebugLogger.debug_mode=value
end
debug_mode?() click to toggle source

A getter for debug_mode. Default value is false. When set to true the coralogix logger will print output messages to a console and a file.

@return [boolean] - true or false. (Default is false)

# File lib/centralized_ruby_logger.rb, line 28
def debug_mode?
    DebugLogger.debug_mode
end
disable_proxy=(value) click to toggle source

A setter for disable_proxy. By default HTTP object will use proxy environment variable if exists. In some cases this migh be an issue When set to false the HTTP object will ignore any proxy.

@param value - true or false. (Default is false)

# File lib/centralized_ruby_logger.rb, line 46
def disable_proxy=(value)
    @manager.disable_proxy=value
end
flush() click to toggle source

Flush all messages in buffer and send them immediately on the current thread.

# File lib/centralized_ruby_logger.rb, line 69
def flush
    @manager.flush
end
log(severity, message, category=@category, named_args = {}) click to toggle source

Log a message.

@param severity - log severity @param message - log message @param category - log category @param className - log class name @param methodName - log method name @param threadId - log thread id

# File lib/centralized_ruby_logger.rb, line 81
def log severity, message, category=@category, named_args = {}

    className = named_args.fetch(:className,"")
    methodName = named_args.fetch(:methodName,"")
    threadId = named_args.fetch(:threadId,Thread.current.object_id.to_s)

    @manager.add_logline message, severity, category, :className => className, :methodName => methodName, :threadId => threadId
end