class LoggingClass
Wrapper class for logging
Public Class Methods
new(name)
click to toggle source
initialize class
# File lib/miq_utilities/logging.rb, line 22 def initialize(name) @initializer = name @notification = NotificationClass.new end
Public Instance Methods
log(level:, message:, logtoscreenonly: false, notify: false, email_to: nil, email_from: nil, signature: nil, webhookurl: nil, subjecttype: nil, update_message: false)
click to toggle source
# File lib/miq_utilities/logging.rb, line 27 def log(level:, message:, logtoscreenonly: false, notify: false, email_to: nil, email_from: nil, signature: nil, webhookurl: nil, subjecttype: nil, update_message: false) levelvalid = %w[info warn error debug].any? { |msglevel| level.upcase.include? msglevel.to_s.upcase } if $evm.nil? || logtoscreenonly puts "#{level}: #{@initializer} - #{message}" elsif levelvalid $evm.log(level, "#{@initializer} - #{message}") @task.message = message if @task && (level.casecmp('ERROR').zero? || update_message) else $evm.log('info', "#{@initializer} - #{message}") end # Notify - Only if flag (notify) is set to TRUE @notification.notify(event_level: level, event_message: message, email_to: email_to, email_from: email_from, signature: signature, webhookurl: webhookurl, subjecttype: subjecttype) if notify rescue => err raise("Oopps! Something went wrong.\nDetails:<#{err}>") end