Class: AlWorker::StdoutTrap
- Inherits:
-
Object
- Object
- AlWorker::StdoutTrap
- Defined in:
- lib/al_worker.rb
Overview
Note:
標準出力、標準エラー出力のトラップ
stdout, stderrをログに記録するための機能を実装する。
Instance Method Summary collapse
- #<<(arg) ⇒ Object
- #flush ⇒ Object
-
#initialize(severity) ⇒ StdoutTrap
constructor
A new instance of StdoutTrap.
- #write(s) ⇒ Object
Constructor Details
#initialize(severity) ⇒ StdoutTrap
Returns a new instance of StdoutTrap.
896 897 898 899 |
# File 'lib/al_worker.rb', line 896 def initialize( severity ) @severity = severity @buffer = "" end |
Instance Method Details
#<<(arg) ⇒ Object
917 918 919 920 |
# File 'lib/al_worker.rb', line 917 def <<( arg ) write( arg ) return self end |
#flush ⇒ Object
922 923 924 925 926 |
# File 'lib/al_worker.rb', line 922 def flush() return if @buffer.empty? AlWorker.log( @buffer, @severity ) @buffer.clear end |
#write(s) ⇒ Object
901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 |
# File 'lib/al_worker.rb', line 901 def write( s ) idx_cr = s.rindex("\n") if !idx_cr @buffer << s return end @buffer << s[0, idx_cr] AlWorker.log( @buffer, @severity ) @buffer.clear if s.length != idx_cr + 1 @buffer << s[idx_cr + 1, s.length - idx_cr - 1] end end |