Rubyのログ出力ショートコード


#!/usr/bin/env ruby
# coding: utf-8
require 'logger'

class MyLogger
  def initialize(logger = nil)
    @logger = logger || Logger.new(STDERR)
  end
  attr_reader :logger
  def info(arg)
    logger.info arg
  end
  def debug(arg)
    logger.debug arg
  end
end

$log = MyLogger.new
$log.debug("debug")
$log.info("info")

これを実行するとこうなる。

D, [2017-06-14T19:28:44.997339 #76117] DEBUG -- : debug
I, [2017-06-14T19:28:44.997355 #76117]  INFO -- : info

まあ、putsで事は足りる気はしてる。

puts "debug"

printもあるけど、putsの方が改行してくれるのputsの方が良い気はしている。

print "foo"
puts "bar"
puts "piyo"
foobar
piyo

という出力になってしまう。

Rubyを始めました。