Class: Narou::StreamingLogger
- Inherits:
-
StringIO
- Object
- StringIO
- Narou::StreamingLogger
- Includes:
- LoggerModule
- Defined in:
- lib/web/streaminglogger.rb
Overview
標準出力をフックする
$stdout を介した出力は echo イベントとして全てのクライアントへ送信される
Instance Method Summary collapse
-
#initialize(push_server = nil) ⇒ StreamingLogger
constructor
A new instance of StreamingLogger.
- #push_streaming(str) ⇒ Object
- #tty? ⇒ Boolean
- #write(str) ⇒ Object
Methods included from LoggerModule
#capture, #save, #silence, #silent, #silent=, #strip_color, #write_console
Constructor Details
#initialize(push_server = nil) ⇒ StreamingLogger
Returns a new instance of StreamingLogger.
28 29 30 31 |
# File 'lib/web/streaminglogger.rb', line 28 def initialize(push_server = nil) super() @push_server = push_server end |
Instance Method Details
#push_streaming(str) ⇒ Object
37 38 39 40 41 |
# File 'lib/web/streaminglogger.rb', line 37 def push_streaming(str) unless @is_silent @push_server.send_all(echo: str) if @push_server end end |
#tty? ⇒ Boolean
33 34 35 |
# File 'lib/web/streaminglogger.rb', line 33 def tty? false end |
#write(str) ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/web/streaminglogger.rb', line 43 def write(str) str = str.to_s if str.encoding == Encoding::ASCII_8BIT str.force_encoding(Encoding::UTF_8) end super(str) push_streaming(str) end |