# File lib/puppet/network/http/webrick.rb, line 69
69:   def setup_logger
70:     # Make sure the settings are all ready for us.
71:     Puppet.settings.use(:main, :ssl, Puppet[:name])
72: 
73:     if Puppet.run_mode.master?
74:       file = Puppet[:masterhttplog]
75:     else
76:       file = Puppet[:httplog]
77:     end
78: 
79:     # open the log manually to prevent file descriptor leak
80:     file_io = ::File.open(file, "a+")
81:     file_io.sync
82:     file_io.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
83: 
84:     args = [file_io]
85:     args << WEBrick::Log::DEBUG if Puppet::Util::Log.level == :debug
86: 
87:     logger = WEBrick::Log.new(*args)
88:     return :Logger => logger, :AccessLog => [
89:       [logger, WEBrick::AccessLog::COMMON_LOG_FORMAT ],
90:       [logger, WEBrick::AccessLog::REFERER_LOG_FORMAT ]
91:     ]
92:   end