About inheritance of Padrino::Logger
tana6 opened this issue · comments
Hello.
I want to inherit Padrino::Logger and use it. However, the current Padrino::Logger implementation cannot be used smartly.
Because, an instance of Padrino::Logger is created even in the inherited class.
class CustomLogger < Padrino::Logger
end
...
Padrino.before_load do
...
replace_logger = CustomLogger.logger # replace_logger is the instance of Padrino::Logger
Padrino.logger = replace_logger
...
end
If possible, I would like you to change the implementation of Padrino::Logger#setup!.
Current implementation
module Padrino
class Logger
def self.setup!
...
new_logger = Padrino::Logger.new(config.merge(:stream => stream))
new_logger.extend(Padrino::Logger::Extensions)
self.logger = new_logger
end
end
end
Alternative implementation
module Padrino
class Logger
def self.setup!
...
# Create self-instance
new_logger = self.new(config.merge(:stream => stream))
new_logger.extend(self::Extensions)
self.logger = new_logger
end
end
end
Thank you for reading.