Module: Sinlog::LogLambdaExt

Defined in:
lib/lambda.rb

Overview

Module to simplify logger calls using lambda expressions.

The following methods define lambda expressions for different log levels. These lambdas can be used to log messages at the corresponding log level.

Constant Summary collapse

@@_sinlog_lambda_ext_logger_ =
Sinlog.instance.logger

Instance Method Summary collapse

Instance Method Details

#log_dbgObject

Debug Logging

Example:

require 'sinlog'
include Sinlog::LogLambdaExt

'Debug Message'.then(&log_dbg)

cmd = %w[ls -l -h]
"cmd_arr: #{cmd}".tap(&log_dbg)


24
25
26
# File 'lib/lambda.rb', line 24

def log_dbg
  ->(msg) { @@_sinlog_lambda_ext_logger_.debug(msg) }
end

#log_errObject

Error Logging

Example:

'CLI error: You should pass the --url'.then(&log_err)


71
72
73
# File 'lib/lambda.rb', line 71

def log_err
  ->(msg) { @@_sinlog_lambda_ext_logger_.error(msg) }
end

#log_fatalObject

Fatal error logging

Example:

'Failed to open xxx'.then(&log_fatal)


80
81
82
# File 'lib/lambda.rb', line 80

def log_fatal
  ->(msg) { @@_sinlog_lambda_ext_logger_.fatal(msg) }
end

#log_infoObject

Info(a.k.a. Information) Logging

Example:

require 'pathname'

Pathname('lib/lambda.rb').tap {
    "Filename: #{it}".then(&log_info)
    "size: #{it.size}".then(&log_info)
}


38
39
40
# File 'lib/lambda.rb', line 38

def log_info
  ->(msg) { @@_sinlog_lambda_ext_logger_.info(msg) }
end

#log_unkObject

Example:

'Unknown'.then(&log_unk)


87
88
89
# File 'lib/lambda.rb', line 87

def log_unk
  ->(msg) { @@_sinlog_lambda_ext_logger_.unknown(msg) }
end

#log_warnObject

Warning Logging

Example:

arr = (0..256).to_a
'This array is too large'.then(&log_warn) if arr.length > 128


48
49
50
# File 'lib/lambda.rb', line 48

def log_warn
  ->(msg) { @@_sinlog_lambda_ext_logger_.warn(msg) }
end

#log_warningObject

Warning Logging

Same as ‘log_warn`



55
56
57
# File 'lib/lambda.rb', line 55

def log_warning
  ->(msg) { @@_sinlog_lambda_ext_logger_.warn(msg) }
end

#log_wngObject

Warning Logging

Same as ‘log_warn`



62
63
64
# File 'lib/lambda.rb', line 62

def log_wng
  ->(msg) { @@_sinlog_lambda_ext_logger_.warn(msg) }
end