# File lib/puppet/util/log.rb, line 112
112:   def Log.newdestination(dest)
113:     # Each destination can only occur once.
114:     if @destinations.find { |name, obj| obj.name == dest }
115:       return
116:     end
117: 
118:     name, type = @desttypes.find do |name, klass|
119:       klass.match?(dest)
120:     end
121: 
122:     raise Puppet::DevError, "Unknown destination type #{dest}" unless type
123: 
124:     begin
125:       if type.instance_method(:initialize).arity == 1
126:         @destinations[dest] = type.new(dest)
127:       else
128:         @destinations[dest] = type.new
129:       end
130:       flushqueue
131:       @destinations[dest]
132:     rescue => detail
133:       puts detail.backtrace if Puppet[:debug]
134: 
135:       # If this was our only destination, then add the console back in.
136:       newdestination(:console) if @destinations.empty? and (dest != :console and dest != "console")
137:     end
138:   end