如何在rails 3控制台中实现着色记录器输出的彩色显示?
- 内容介绍
- 文章标签
- 相关推荐
本文共计310个文字,预计阅读时间需要2分钟。
在Rails 3应用中着色并可能增加噪音的Rails.logger输出,可以通过以下步骤实现:
1. 在你的Rails应用中添加一个模块,用于封装日志输出功能。
2.使用类似Term-ANSIColor这样的库来着色日志输出。
以下是一个简单的示例:
ruby
lib/custom_logger.rbrequire 'term/ansicolor'module CustomLogger extend self
def log(level, message) color=case level when :info then :blue when :warn then :yellow when :error then :red else :green end
Rails.logger.send(level, Term::ANSIColor.send(color, message)) endend
3. 在你的应用中,使用这个模块来替代直接调用Rails.logger。
rubyconfig/initializers/custom_logger.rbrequire 'custom_logger'
Rails.application.config.after_initialize do Rails.logger=ActiveSupport::Logger.new(STDOUT) Rails.logger.extend(CustomLogger)end
4. 现在你可以这样使用自定义的日志输出:
rubyRails.logger.info 这是一个信息级别的日志Rails.logger.warn 这是一个警告级别的日志Rails.logger.error 这是一个错误级别的日志
这样,你的Rails.logger输出就会根据不同的日志级别使用不同的颜色,而且不会超过100个字符。
如何在rails3应用程序中着色并可能加粗Rails.logger的输出? 善待其他程序员,不要直接在你的字符串中嵌入转义序列.也许使用像 Rainbow或 Term-ANSIColor这样的库?例如Term-ANSIColor:require 'term/ansicolor' include Term::ANSIColor Rails.logger.add 1, "#{red(ATCHUNG!)}: pay attention to me!"
本文共计310个文字,预计阅读时间需要2分钟。
在Rails 3应用中着色并可能增加噪音的Rails.logger输出,可以通过以下步骤实现:
1. 在你的Rails应用中添加一个模块,用于封装日志输出功能。
2.使用类似Term-ANSIColor这样的库来着色日志输出。
以下是一个简单的示例:
ruby
lib/custom_logger.rbrequire 'term/ansicolor'module CustomLogger extend self
def log(level, message) color=case level when :info then :blue when :warn then :yellow when :error then :red else :green end
Rails.logger.send(level, Term::ANSIColor.send(color, message)) endend
3. 在你的应用中,使用这个模块来替代直接调用Rails.logger。
rubyconfig/initializers/custom_logger.rbrequire 'custom_logger'
Rails.application.config.after_initialize do Rails.logger=ActiveSupport::Logger.new(STDOUT) Rails.logger.extend(CustomLogger)end
4. 现在你可以这样使用自定义的日志输出:
rubyRails.logger.info 这是一个信息级别的日志Rails.logger.warn 这是一个警告级别的日志Rails.logger.error 这是一个错误级别的日志
这样,你的Rails.logger输出就会根据不同的日志级别使用不同的颜色,而且不会超过100个字符。
如何在rails3应用程序中着色并可能加粗Rails.logger的输出? 善待其他程序员,不要直接在你的字符串中嵌入转义序列.也许使用像 Rainbow或 Term-ANSIColor这样的库?例如Term-ANSIColor:require 'term/ansicolor' include Term::ANSIColor Rails.logger.add 1, "#{red(ATCHUNG!)}: pay attention to me!"

