157: def handle(msg)
158: unless msg.is_a?(String) or msg.remote
159: @hostname ||= Facter["hostname"].value
160: unless defined?(@domain)
161: @domain = Facter["domain"].value
162: @hostname += ".#{@domain}" if @domain
163: end
164: if msg.source =~ /^\//
165: msg.source = @hostname + ":#{msg.source}"
166: elsif msg.source == "Puppet"
167: msg.source = @hostname + " #{msg.source}"
168: else
169: msg.source = @hostname + " #{msg.source}"
170: end
171: begin
172:
173:
174:
175: begin
176: tmp = CGI.escape(YAML.dump(msg))
177: rescue => detail
178: puts "Could not dump: #{detail}"
179: return
180: end
181:
182: @driver.addlog(tmp)
183: rescue => detail
184: puts detail.backtrace if Puppet[:trace]
185: Puppet.err detail
186: Puppet::Util::Log.close(self)
187: end
188: end
189: end