【发布时间】:2013-06-07 09:52:58
【问题描述】:
我是 Rails 的新手。我正在使用 log4r 进行日志记录。我观察到,当我在模型中只使用记录器时,它不起作用。但是如果我使用 Rails.logger 日志会很好。为什么会这样?请帮我理解。
def self.create_user_from_params(auth_params)
Rails.logger.debug "auth params are ";
return nil;
end
有效。但是如果我使用
def self.create_user_from_params(auth_params)
logger.debug "auth params are ";
return nil;
end
它不起作用。这是我的 log4r yml
log4r_config:
# define all loggers ...
loggers:
- name : production
level : INFO
trace : 'false'
outputters :
- datefile
- name : development
level : DEBUG
trace : 'true'
outputters :
- datefile
# define all outputters (incl. formatters)
outputters:
- type: DateFileOutputter
name: datefile
dirname: "log"
filename: "server.log" # notice the file extension is needed!
formatter:
date_pattern: '%H:%M:%S'
pattern : '%d %l: %m '
type : PatternFormatter
更新我只记得我在我的 config/application.rb 中添加了 'config.active_record.logger = Logger.new("log/sql.log")'
我使用它是因为我想将我的 sqls 记录到单独的文件中。现在我有另一个问题。 如何在不更改 config.active_record.logger 的情况下将 sqls 记录到单独的文件中?
【问题讨论】:
-
日志是否附加到 server.log 中?
-
没有。如果我只使用 logger.info/logger.debug 它不会转到 server.log。如果我使用 Rail.logger,那么它会转到 server.log
-
看起来你没有使用 log4r——你只是在使用默认的记录器。我的建议:不要花时间在这上面——花时间在重要的特性上,当你对 Rails 有了更多的了解后,再回来处理记录器的配置和使用。
标签: ruby-on-rails log4r