diff options
Diffstat (limited to 'lib/puppet/transaction/event.rb')
| -rw-r--r-- | lib/puppet/transaction/event.rb | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/lib/puppet/transaction/event.rb b/lib/puppet/transaction/event.rb index abd5c8041..41e1f5130 100644 --- a/lib/puppet/transaction/event.rb +++ b/lib/puppet/transaction/event.rb @@ -1,11 +1,13 @@ require 'puppet/transaction' require 'puppet/util/tagging' +require 'puppet/util/logging' # A simple struct for storing what happens on the system. class Puppet::Transaction::Event include Puppet::Util::Tagging + include Puppet::Util::Logging - ATTRIBUTES = [:name, :resource, :property, :previous_value, :desired_value, :status, :log, :node, :version, :file, :line] + ATTRIBUTES = [:name, :resource, :property, :previous_value, :desired_value, :status, :message, :node, :version, :file, :line, :source_description] attr_accessor *ATTRIBUTES attr_writer :tags attr_accessor :time @@ -19,12 +21,31 @@ class Puppet::Transaction::Event @time = Time.now end + def property=(prop) + @property = prop.to_s + end + + def resource=(res) + @resource = res.to_s + end + + def send_log + super(status == "failure" ? :err : :notice, message) + end + def status=(value) raise ArgumentError, "Event status can only be #{EVENT_STATUSES.join(', ')}" unless EVENT_STATUSES.include?(value) @status = value end def to_s - log + message + end + + private + + # Used by the Logging module + def log_source + source_description || property || resource end end |
