1.logger創建
# 輸出到標准輸出 logger = Logger.new(STDERR) logger = Logger.new(STDOUT) # 輸出到指定文件 logger = Logger.new('logfile.log') # 輸出到指定打開/創建模式的文件 file = File.open('foo.log', File::WRONLY | File::APPEND | File::CREAT) # To create new (and to remove old) logfile, add File::CREAT like: # file = File.open('foo.log', File::WRONLY | File::APPEND | File::CREAT) logger = Logger.new(file) # 指定日志大小及保留日志個數 logger = Logger.new('foo.log', 10, 1024000)
# 日志生成周期
logger = Logger.new('foo.log', 'daily')
logger = Logger.new('foo.log', 'weekly')
logger = Logger.new('foo.log', 'monthly')
2.設置日志級別
logger.level = Logger::DEBUG logger.level = Logger::INFO logger.level = Logger::WARN logger.level = Logger::FATAL logger.level = Logger::UNKNOWN
3.設置日志輸出格式
# datetime_format=時間格式化 logger.datetime_format = '%Y-%m-%d %H:%M:%S' # formatter=方法改變整體格式 logger.formatter = proc do |severity, datetime, progname, msg| "#{datetime}: #{msg}\n" end
4.日志打印
logger.info("User-input: #{input.dump}") logger.info("User-input: %p" % input) logger.info "Waiting for input from user" logger.info { "User typed #{input}" }