ruby中打印日志

先看代碼:
gem install logger

require 'logger'
file = File.open('F:\log.log', File::WRONLY | File::APPEND)
# $logger = Logger.new(STDOUT)  #輸出到控制臺(tái)
$logger = Logger.new(file)  #輸出文件
$logger.level = Logger::WARN #設(shè)定高于這個(gè)級(jí)別的才會(huì)輸出
#修改log的輸出格式
$logger.formatter = proc { |severity, datetime, progname, msg|
  "#{severity}: #{datetime}: #{msg}\n"
}
#輸出內(nèi)容
$logger.debug "da#{9+9}fsdfas"
$logger.warn ""
$logger.error ""
$logger.info [1,2,34,5,6,9]
$logger.fatal "fatal"
$logger.fatal "==========================="
p $logger

Ruby中打印日志:Logger的使用

  1. 引入'logger': require 'logger'
  2. 日志輸出到控制臺(tái)還是文件
  logger = Logger.new(STDOUT)  #輸出到控制臺(tái)
  logger = Logger.new("log.txt")  #輸出到文件,文件名log.txt
  logger = Logger.new(STDERR) #輸出到屏幕

指定寫入文件方式:

  file = File.open('foo.log', File::WRONLY | File::APPEND)
  # To create new (and to remove old) logfile, add File::CREAT like;
  # file = open('foo.log', File::WRONLY | File::APPEND | File::CREAT)
  logger = Logger.new(file)
  1. 日志生成周期
  logger = Logger.new('log.log', 'daily') #按天生成
  logger = Logger.new('log.log', 'weekly') #按周生成
  logger = Logger.new('log.log', 'monthly')#按月生成
  1. 指定日志大小及保留日志個(gè)數(shù)
  logger = Logger.new('foo.log', 10, 1024000) #保留10個(gè)日志文件,每個(gè)文件大小1024000字節(jié)
  1. 輸出不同級(jí)別的日志
  logger.level = Logger::INFO

  logger.error("some desption")
  logger.fatal("an object #{obj}")
  logger.info("that's another instance obj #{obj}")

  logger.add(Logger::FATAL) { 'Fatal error!' }

 #日志級(jí)別從大到小分別是:fatal、error、warn、info、debug
  1. 日志輸出格式及時(shí)間格式 默認(rèn)日志格式:
 SeverityID, [Date Time mSec #pid] SeverityLabel -- ProgName: message 
 修改時(shí)間格式:    logger.datetime_format = "%Y-%m-%d %H:%M:%S"
        # e.g. "2004-01-03 00:54:26"  
修改日志格式:  logger.formatter = proc { |severity, datetime, progname, msg|
    "#{datetime}: #{msg}\n"
  }
        # e.g. "Thu Sep 22 08:51:08 GMT+9:00 2005: hello world"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評(píng)論 19 139
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個(gè)目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 5,217評(píng)論 1 13
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個(gè)目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 5,159評(píng)論 0 6
  • (http://www.cnblogs.com/zhangchenliang/p/4546352.html) 1、...
    凌雲(yún)木閱讀 2,621評(píng)論 0 2
  • 閱讀。當(dāng)然現(xiàn)在這個(gè)范圍已經(jīng)擴(kuò)大了,微信訂閱、知乎上的問題、簡書上的文章、電子書、紙質(zhì)書都是在閱讀的范圍內(nèi)。...
    江邊雁閱讀 459評(píng)論 1 1

友情鏈接更多精彩內(nèi)容