From adc10d8e82723615279ba3aa1eded52fdbcd0acd Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Wed, 10 Aug 2005 03:19:11 +0000 Subject: setting up http to log to a separate file git-svn-id: https://reductivelabs.com/svn/puppet/library/trunk@531 980ebf18-57e1-0310-9a29-db15c13687c0 --- lib/puppet/daemon.rb | 23 +++++++++++++++++++++++ lib/puppet/log.rb | 6 ++++++ 2 files changed, 29 insertions(+) (limited to 'lib/puppet') diff --git a/lib/puppet/daemon.rb b/lib/puppet/daemon.rb index b160d3eed..76b6cc829 100755 --- a/lib/puppet/daemon.rb +++ b/lib/puppet/daemon.rb @@ -5,6 +5,9 @@ require 'puppet' module Puppet module Daemon def daemonize + unless Puppet[:logdest] == :file + Puppet.err "You must reset log destination before daemonizing" + end if pid = fork() Process.detach(pid) exit(0) @@ -16,11 +19,31 @@ module Puppet $stdin.reopen "/dev/null" $stdout.reopen "/dev/null", "a" $stderr.reopen $stdin + Log.reopen rescue => detail + File.open("/tmp/daemonout", "w") { |f| + f.puts "Could not start %s: %s" % [$0, detail] + } Puppet.err "Could not start %s: %s" % [$0, detail] exit(12) end end + + def httplog + args = [] + # yuck; separate http logs + if self.is_a?(Puppet::Server) + args << Puppet[:masterhttplog] + else + args << Puppet[:httplog] + end + if Puppet[:debug] + args << WEBrick::Log::DEBUG + end + log = WEBrick::Log.new(*args) + + return log + end end end diff --git a/lib/puppet/log.rb b/lib/puppet/log.rb index 76308c735..5d7f867ab 100644 --- a/lib/puppet/log.rb +++ b/lib/puppet/log.rb @@ -161,6 +161,12 @@ module Puppet end end + def Log.reopen + if @@logfile + Log.destination = @@logpath + end + end + attr_accessor :level, :message, :source, :time def initialize(args) -- cgit