使用 Fog::Logger 的最佳做法
Best practices to use Fog::Logger
使用 Fog::Logger 的最佳实践是什么? Fog 提供了 3 种类型的日志记录:
- 调试
- 弃用
警告
module Fog
class Logger
@channels = {
:deprecation => ::STDERR,
:warning => ::STDERR
}
@channels[:debug] = ::STDERR if ENV["DEBUG"]
def self.[](channel)
@channels[channel]
end
def self.[]=(channel, value)
@channels[channel] = value
end
def self.debug(message)
write(:debug, "[light_black][fog][DEBUG] #{message}[/]\n")
end
def self.deprecation(message)
write(:deprecation, "[yellow][fog][DEPRECATION] #{message}[/]\n")
end
def self.warning(message)
write(:warning, "[yellow][fog][WARNING] #{message}[/]\n")
end
def self.write(key, value)
channel = @channels[key]
if channel
message = if channel.tty?
value.gsub(Fog::Formatador::PARSE_REGEX) { "\e[#{Fog::Formatador::STYLES[.to_sym]}m" }.gsub(Fog::Formatador::INDENT_REGEX, "")
else
value.gsub(Fog::Formatador::PARSE_REGEX, "").gsub(Fog::Formatador::INDENT_REGEX, "")
end
channel.write(message)
end
nil
end
end
end
如果我们使用调试日志记录,那么它仅在调试模式打开时可见。
最好的使用方法是什么,如果可能请举例说明。
记录器用于从 fog 到最终用户的消息,而不是供最终用户直接使用。我建议使用这样的级别:
- 调试 - 并没有真正使用太多,更多的是在开发过程中使用,而不是我希望用于向最终用户发送消息的东西。
- 弃用 - 任何时候我们改变了行为,但留下了向后兼容的适配器,我们也尝试有一个弃用警告来解释并希望推动用户更新。
- warning - 这对于与使用相关的任何事情都是有意义的,除了正在发生的事情之外,用户还应该知道(即,如果提供商方面发生了某些变化或提供商 returns 警告,但是它的损坏程度不足以实际引发错误。
希望对您有所帮助,但当然很乐意根据需要进一步讨论。
使用 Fog::Logger 的最佳实践是什么? Fog 提供了 3 种类型的日志记录:
- 调试
- 弃用
警告
module Fog class Logger @channels = { :deprecation => ::STDERR, :warning => ::STDERR } @channels[:debug] = ::STDERR if ENV["DEBUG"] def self.[](channel) @channels[channel] end def self.[]=(channel, value) @channels[channel] = value end def self.debug(message) write(:debug, "[light_black][fog][DEBUG] #{message}[/]\n") end def self.deprecation(message) write(:deprecation, "[yellow][fog][DEPRECATION] #{message}[/]\n") end def self.warning(message) write(:warning, "[yellow][fog][WARNING] #{message}[/]\n") end def self.write(key, value) channel = @channels[key] if channel message = if channel.tty? value.gsub(Fog::Formatador::PARSE_REGEX) { "\e[#{Fog::Formatador::STYLES[.to_sym]}m" }.gsub(Fog::Formatador::INDENT_REGEX, "") else value.gsub(Fog::Formatador::PARSE_REGEX, "").gsub(Fog::Formatador::INDENT_REGEX, "") end channel.write(message) end nil end end end
如果我们使用调试日志记录,那么它仅在调试模式打开时可见。 最好的使用方法是什么,如果可能请举例说明。
记录器用于从 fog 到最终用户的消息,而不是供最终用户直接使用。我建议使用这样的级别:
- 调试 - 并没有真正使用太多,更多的是在开发过程中使用,而不是我希望用于向最终用户发送消息的东西。
- 弃用 - 任何时候我们改变了行为,但留下了向后兼容的适配器,我们也尝试有一个弃用警告来解释并希望推动用户更新。
- warning - 这对于与使用相关的任何事情都是有意义的,除了正在发生的事情之外,用户还应该知道(即,如果提供商方面发生了某些变化或提供商 returns 警告,但是它的损坏程度不足以实际引发错误。
希望对您有所帮助,但当然很乐意根据需要进一步讨论。