class ReeLogger::FileAppender

def append(event, progname = nil)

def append(event, progname = nil)
  message = @formatter.format(event, progname)
  logger << (message + "\n")
  file.flush if auto_flush
  nil
end

def initialize(level, formatter, file_path, **opts)

def initialize(level, formatter, file_path, **opts)
  super(
    level,
    formatter || DefaultFormatter.new
  )
  opts = DEFAULTS.merge(opts)
  unless File.exist?(file_path)
    FileUtils.mkdir_p(Pathname.new(file_path).parent.to_s)
    FileUtils.touch(file_path)
  end
  @auto_flush = opts[:auto_flush]
  @file = File.open(file_path, File::WRONLY | File::APPEND)
  @logger = Logger.new(
    @file, opts[:log_file_count], opts[:log_file_size]
  )
end