我是rails的新手。我使用log4r进行日志记录。我观察到,当我在我的模型中只使用记录器时,它不起作用。但是如果我使用Rails。日志发送正常。为什么会发生这种情况?请帮我理解。
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
update我刚想起我已经添加了'config.active_record。log = log .new("log/sql.log")' in my config/application.rb
我使用它,因为我想记录我的sql到单独的文件。现在我有另一个问题。如何在不改变config.active_record.logger的情况下记录sql以分离文件?
看看这个关于如何使用Log4r的深入教程。
具体来说,您的问题可以通过设置config来解决。Log4r:: logger ["development"](因此Rails。logger将记录到Log4r)或在要使用"logger"的文件中指定logger = Log4r:: logger ["development"]。设置配置。然而,logger标志应该与Rails.logger.debug以及logger.debug一起使用。
单独文件中的SQL也在链接的blogpost中有详细描述。基本上,您使用Rails通知管道并写入一个自定义记录器,该记录器记录到另一个文件。