diff options
author | Luke Kanies <luke@madstop.com> | 2005-08-10 03:19:11 +0000 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2005-08-10 03:19:11 +0000 |
commit | adc10d8e82723615279ba3aa1eded52fdbcd0acd (patch) | |
tree | 15bbe2ed419555a87e3f28dd37dd1c9618e2f454 /lib | |
parent | c7380c9d60fef68e2eb27c732d41eba7f6a54a27 (diff) | |
download | puppet-adc10d8e82723615279ba3aa1eded52fdbcd0acd.tar.gz puppet-adc10d8e82723615279ba3aa1eded52fdbcd0acd.tar.xz puppet-adc10d8e82723615279ba3aa1eded52fdbcd0acd.zip |
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
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/puppet/daemon.rb | 23 | ||||
-rw-r--r-- | lib/puppet/log.rb | 6 |
2 files changed, 29 insertions, 0 deletions
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) |