Class: LogGenerator::MyWriter
- Inherits:
-
Object
- Object
- LogGenerator::MyWriter
- Defined in:
- lib/apache-loggen/base.rb
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(filename) ⇒ MyWriter
constructor
A new instance of MyWriter.
- #rotate ⇒ Object
- #write(str) ⇒ Object
Constructor Details
#initialize(filename) ⇒ MyWriter
Returns a new instance of MyWriter.
275 276 277 278 279 |
# File 'lib/apache-loggen/base.rb', line 275 def initialize(filename) @filename = filename @io = nil rotate() end |
Instance Method Details
#close ⇒ Object
299 300 301 302 303 |
# File 'lib/apache-loggen/base.rb', line 299 def close() if @filename != nil && @io != nil && !@io.closed? then @io.close end end |
#rotate ⇒ Object
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 |
# File 'lib/apache-loggen/base.rb', line 280 def rotate() if @filename == nil then @io = $stdout return nil else dir = File.dirname(@filename) name = File.basename(@filename, '.*') + '.' + Time.now.strftime('%Y-%m-%d_%H%M%S') + File.extname(@filename) FileUtils.mkdir_p(dir) unless File.exists?(dir) if @io != nil then File.rename(@filename, name) @io.close end @io = open(@filename, "a") return File.join(dir, name) end end |
#write(str) ⇒ Object
296 297 298 |
# File 'lib/apache-loggen/base.rb', line 296 def write(str) return @io.write(str) end |