Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
Logger#reopen
() -> self
(::Logger::logdev?) -> self
reopen(logdev = nil)
lib/logger.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.4.1/lib/logger.rb, line 624
def reopen(logdev = nil)
@logdev&.reopen(logdev)
self
end
Sets the logger’s output stream:
-
If
logdevisnil, reopens the current output stream. -
If
logdevis a filepath, opens the indicated file for append. -
If
logdevis anIOstream (usually$stdout,$stderr, or an openFileobject), opens the stream for append.
Example:
Example
logger = Logger.new('t.log') logger.add(Logger::ERROR, 'one') logger.close logger.add(Logger::ERROR, 'two') # Prints 'log writing failed. closed stream' logger.reopen logger.add(Logger::ERROR, 'three') logger.close File.readlines('t.log') # => # ["# Logfile created on 2022-05-12 14:21:19 -0500 by logger.rb/v1.5.0\n", # "E, [2022-05-12T14:21:27.596726 #22428] ERROR -- : one\n", # "E, [2022-05-12T14:23:05.847241 #22428] ERROR -- : three\n"]