Возможно ли динамически изменить LogDevice
Ruby Logger
?
Если это так, это позволило бы внести некоторые ненавязчивые изменения в мою существующую кодовую базу.
Текущий RubyLogger
использует StringIO
в качестве LogDevice
:
@logDevice = StringIO.new("", "r+")
@log = Logger.new(@logDevice) // a reference to this is used by many objects
// both are instance vars
...
@log.info('some log') // Logging activity
...
// Before program ends, transmit logs to a server
Можно ли динамически изменить LogDevice
для продолжения записи в файл?(динамическое изменение, поскольку изначально имя файла неизвестно.)
Или, если устройство журнала не может быть изменено, может ли объект StringIO
начать запись в файл?
Вместо того, чтобы выполнить вышеизложенное, ямог записывать во временный файл журнала, но хотел проверить, можно ли выполнить вышеперечисленное, потому что это будет менее навязчивым изменением существующей кодовой базы.