diff options
-rw-r--r-- | lib/puppet/log.rb | 11 | ||||
-rw-r--r-- | test/other/log.rb | 21 |
2 files changed, 29 insertions, 3 deletions
diff --git a/lib/puppet/log.rb b/lib/puppet/log.rb index 76eb3280b..36759e2b4 100644 --- a/lib/puppet/log.rb +++ b/lib/puppet/log.rb @@ -168,7 +168,7 @@ module Puppet end end - attr_accessor :level, :message, :source, :time + attr_accessor :level, :message, :source, :time, :tags, :path def initialize(args) unless args.include?(:level) && args.include?(:message) && @@ -193,8 +193,15 @@ module Puppet raise Puppet::DevError, "Invalid message level #{level}" end + if args.include?(:tags) + @tags = args[:tags] + end + + if args.include?(:path) + @path = args[:path] + end + Log.newmessage(self) - @@messages.push(self) end def to_s diff --git a/test/other/log.rb b/test/other/log.rb index f4a39d467..fc92bd38e 100644 --- a/test/other/log.rb +++ b/test/other/log.rb @@ -1,16 +1,18 @@ if __FILE__ == $0 $:.unshift '..' $:.unshift '../../lib' - $puppetbase = "../../../../language/trunk/" + $puppetbase = "../.." end require 'puppet/log' require 'puppet' +require 'puppettest' require 'test/unit' # $Id$ class TestLog < Test::Unit::TestCase + include TestPuppet @@logfile = File.join(Puppet[:logdir], "puppettest.log") def teardown @@ -120,4 +122,21 @@ class TestLog < Test::Unit::TestCase system("rm -rf /tmp/logtesting") Puppet[:logdest] = curdest end + + def test_logtags + log = nil + assert_nothing_raised { + log = Puppet::Log.new( + :level => :info, + :source => "Puppet", + :message => "A test message", + :tags => %w{this is a set of tags}, + :path => "a path" + ) + } + + # This is really stupid + assert(log.tags) + assert(log.path) + end end |