diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/property.rb | 2 | ||||
-rw-r--r-- | lib/puppet/transaction/change.rb | 9 | ||||
-rw-r--r-- | lib/puppet/transaction/event.rb | 25 |
3 files changed, 30 insertions, 6 deletions
diff --git a/lib/puppet/property.rb b/lib/puppet/property.rb index 9d50dcf6a..ad8ea623f 100644 --- a/lib/puppet/property.rb +++ b/lib/puppet/property.rb @@ -157,7 +157,7 @@ class Puppet::Property < Puppet::Parameter # Return a modified form of the resource event. def event - resource.event :name => event_name, :desired_value => should, :property => name + resource.event :name => event_name, :desired_value => should, :property => name, :source_description => path end attr_reader :shadow diff --git a/lib/puppet/transaction/change.rb b/lib/puppet/transaction/change.rb index 49569d6e3..f8e2a7a82 100644 --- a/lib/puppet/transaction/change.rb +++ b/lib/puppet/transaction/change.rb @@ -40,8 +40,9 @@ class Puppet::Transaction::Change property.sync result = event() - result.log = property.notice property.change_to_s(is, should) + result.message = property.change_to_s(is, should) result.status = "success" + result.send_log result rescue => detail puts detail.backtrace if Puppet[:trace] @@ -50,7 +51,8 @@ class Puppet::Transaction::Change is = property.is_to_s(is) should = property.should_to_s(should) - result.log = property.err "change from #{is} to #{should} failed: #{detail}" + result.message = "change from #{is} to #{should} failed: #{detail}" + result.send_log result end @@ -80,8 +82,9 @@ class Puppet::Transaction::Change def noop_event result = event - result.log = property.log "is #{property.is_to_s(is)}, should be #{property.should_to_s(should)} (noop)" + result.message = "is #{property.is_to_s(is)}, should be #{property.should_to_s(should)} (noop)" result.status = "noop" + result.send_log return result end end 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 |