我有一个rake任务调用这样的函数:
namespace :blah do
task :hello_world => :environment do
logger.info("Hello World")
helloworld2
end
end
def helloworld2
logger.info("Hello Again, World")
end
我希望日志输出到自定义日志,我真的不希望每次进行函数调用时都要传递日志引用。我在某处找到了这个(再也找不到了):
def logger
@@logger ||= Logger.new("#{RAILS_HOME}/log/blah.log")
end
但这对我不起作用,我不确定它甚至做了什么,因为我很久以前就抓住了代码并且直到现在才使用它。我无法在google(试用+“@@”rails)上搜索@@以查看其功能。对这个问题的任何帮助都会很棒。我希望有一个快速的解决方案,而不必安装gem或插件(除非有一个非常好的理由。
谢谢!
答案 0 :(得分:2)
rake禁用生产模式下的日志记录。如果要记录,请确保您正在开发模式下运行
答案 1 :(得分:0)
答案 2 :(得分:0)
高级Rails食谱来自@topfunky的食谱84显示了如何定义自定义记录器。他在环境配置文件中有一些代码(生产看起来像这样):RAILS_ROOT/config/environments/production.rb
:
config.logger = RAILS_DEFAULT_LOGGER = Logger.new(config.log_path)
我会测试它,而不是像你一样重新定义类变量。他也可能会在http://nubyonrails.com上查看一些内容。