неопределенный метод `logger =’ для Neo4j::activeNode:Module (NoMethodError)

#ruby-on-rails-4 #neo4j #log4r #neo4j.rb

#ruby-on-rails-4 #neo4j #log4r #neo4j.rb

Вопрос:

Я пытаюсь использовать log4r с rails 4 и neo4j. У меня есть log4r с активной записью, и он работает нормально, но я не могу заставить его работать с neo4j. Основная проблема, о которой я думаю, заключается в методе logger, который недоступен для neo4j. Я использую драгоценные камни «neo4j», «3.0.0.alpha.7» и «log4r», «1.1.10».

Ошибка:

 config/application.rb:59:in `<class:Application>': undefined method `logger=' for     Neo4j::ActiveNode:Module (NoMethodError)
  

Вот код на :

application.rb

 require File.expand_path('../boot', __FILE__)

# Pick the frameworks you want:
  require "active_model/railtie"
  require "action_controller/railtie"
  require "action_mailer/railtie"
  require "action_view/railtie"
  require "sprockets/railtie"
  require 'neo4j/railtie'
  require "rails/test_unit/railtie"
  require 'rails/all'
  require 'log4r'
  require 'yaml'
  require 'log4r/yamlconfigurator'
  require 'log4r/outputter/datefileoutputter'
  include Log4r


  # Require the gems listed in Gemfile, including any gems
  # you've limited to :test, :development, or :production.
  Bundler.require(*Rails.groups)

  module NewClarity
  class Application < Rails::Application

  config.generators do |g|
    g.orm             :neo4j
  end

  config.neo4j.session_type = :server_db 
  config.neo4j.session_path = 'http://localhost:7474'


  log4r_config= YAML.load_file(File.join(File.dirname(__FILE__),"log4r.yml"))
  log_cfg = YamlConfigurator
  log_cfg.decode_yaml( log4r_config['log4r_config'] )

  log = Log4r::Logger['rails']
 #config.logger = Log4r::Logger['rails']
  Neo4j::ActiveNode.logger = Log4r::Logger['rails'] 
  config.log_level = :unknown
 end
end
  

Ответ №1:

В версии 3.0.x в настоящее время нет поддержки ведения журнала, но я добавил к этому проблему с githubhttps://github.com/andreasronge/neo4j/issues/374