使用'config.log_level'和'Rails.logger.level'有什么区别?

时间:2015-03-05 14:19:50

标签: ruby-on-rails logging

我已经看过两个语句的例子,并且无论是使用描述性值(:debug,:info,:warn,:error,:fatal,:unknown)还是数字(1-5)都控制日志记录的级别)。

1 个答案:

答案 0 :(得分:1)

config.log_level仅用于环境初始化文件。

Rails.logger.level几乎可以在任何地方使用。

请参阅此documentation

我从未在我的env.-initializer文件中设置日志级别。我想也许使用Rails.logger.level的一个可能的用例可以是ex。你有一个开发环境,所以它有一个:debug的日志级别,但是你不想让你的日志文件膨胀大量的db-querys和不必要的调试信息 - 那么你只能过滤掉信息 - 级别日志:

Rails.logger.level = 1
# Some code that gives out too much debug information
Rails.logger.level = 0
# Code that's ok for debug information

分别在prod-env中。如果由于某种原因,您希望在环境日志级别设置为:info时在代码的某个位置打印出调试信息。