new (Log4r::FileOutputter)

    # File log4r/outputter/fileoutputter.rb, line 16
        def initialize(_name, hash={})
          super(_name, nil, hash)

          @trunc = Log4rTools.decode_bool(hash, :trunc, true)
          _filename = (hash[:filename] or hash['filename'])

          if _filename.class != String
            raise TypeError, "Argument 'filename' must be a String", caller
          end

          # file validation
          if FileTest.exist?( _filename )
            if not FileTest.file?( _filename )
              raise StandardError, "'#{_filename}' is not a regular file", caller
            elsif not FileTest.writable?( _filename )
              raise StandardError, "'#{_filename}' is not writable!", caller
            end
          else # ensure directory is writable
            dir = File.dirname( _filename )
            if not FileTest.writable?( dir )
              raise StandardError, "'#{dir}' is not writable!"
            end
          end

          @filename = _filename
          @out = File.new(@filename, (@trunc ? "w" : "a"))
          Logger.log_internal {
            "FileOutputter '#{@name}' writing to #{@filename}"
          }
        end