Method: SemanticLogger::Appender::Async#reopen

Defined in:
lib/semantic_logger/appender/async.rb

#reopenObject

Re-open appender after a fork



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/semantic_logger/appender/async.rb', line 54

def reopen
  # Workaround CRuby crash on fork by recreating queue on reopen
  #   https://github.com/reidmorrison/semantic_logger/issues/103
  @queue&.close
  create_queue

  appender.reopen if appender.respond_to?(:reopen)

  @thread&.kill if @thread&.alive?
  @thread = Thread.new { process }
end