Class: Egi::Fedcloud::Cloudhound::Log
- Inherits:
-
Object
- Object
- Egi::Fedcloud::Cloudhound::Log
- Includes:
- Logger::Severity
- Defined in:
- lib/egi/fedcloud/cloudhound/log.rb
Constant Summary collapse
- SUBSCRIPTION_HANDLE =
"egi-fedcloud-cloudhound.log"
Instance Attribute Summary collapse
-
#log_prefix ⇒ Object
readonly
Returns the value of attribute log_prefix.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Class Method Summary collapse
- .debug(message) ⇒ Object
- .error(message) ⇒ Object
- .fatal(message) ⇒ Object
-
.info(message) ⇒ Object
Log an
INFOmessage. - .warn(message) ⇒ Object
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(log_dev, log_prefix = '') ⇒ Log
constructor
Creates a new logger instance.
- #level ⇒ ::Logger::Severity
- #level=(severity) ⇒ Object
Constructor Details
#initialize(log_dev, log_prefix = '') ⇒ Log
Creates a new logger instance.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 14 def initialize(log_dev, log_prefix = '') if log_dev.kind_of? ::Logger @logger = log_dev else @logger = ::Logger.new(log_dev) end @log_prefix = log_prefix.blank? ? '' : log_prefix.strip @log_prefix << ' ' unless @log_prefix.blank? # subscribe to log messages and send to logger @log_subscriber = ActiveSupport::Notifications.subscribe(self.class::SUBSCRIPTION_HANDLE) do |name, start, finish, id, payload| @logger.log(payload[:level], "#{@log_prefix}#{payload[:message]}") if @logger end end |
Instance Attribute Details
#log_prefix ⇒ Object (readonly)
Returns the value of attribute log_prefix.
6 7 8 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 6 def log_prefix @log_prefix end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
6 7 8 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 6 def logger @logger end |
Class Method Details
.debug(message) ⇒ Object
45 46 47 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 45 def self.debug() ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::DEBUG, :message => ) end |
.error(message) ⇒ Object
61 62 63 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 61 def self.error() ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::ERROR, :message => ) end |
.fatal(message) ⇒ Object
66 67 68 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 66 def self.fatal() ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::FATAL, :message => ) end |
.info(message) ⇒ Object
Log an INFO message
51 52 53 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 51 def self.info() ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::INFO, :message => ) end |
.warn(message) ⇒ Object
56 57 58 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 56 def self.warn() ActiveSupport::Notifications.instrument(self::SUBSCRIPTION_HANDLE, :level => ::Logger::WARN, :message => ) end |
Instance Method Details
#close ⇒ Object
30 31 32 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 30 def close ActiveSupport::Notifications.unsubscribe(@log_subscriber) end |
#level ⇒ ::Logger::Severity
40 41 42 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 40 def level @logger.level end |
#level=(severity) ⇒ Object
35 36 37 |
# File 'lib/egi/fedcloud/cloudhound/log.rb', line 35 def level=(severity) @logger.level = severity end |