Module: Eco::Language::AuxiliarLogger
- Included in:
- API::Common::Loaders::Base, API::Common::People::DefaultParsers::Helpers::ExpectedHeaders, API::Common::People::PersonEntry, API::Common::People::PersonEntryAttributeMapper, API::Common::Session::BaseSession, API::Common::Session::FileManager, API::Common::Session::Mailer, API::Common::Session::Mailer::ProviderBase, API::Common::Session::S3Uploader, API::Common::Session::SFTP, API::Session::Batch::Errors, API::Session::Config::BaseConfig, API::UseCases::BaseIO, API::UseCases::GraphQL::Helpers::Base::CaseEnv, API::UseCases::GraphQL::Helpers::Location::Command, API::UseCases::GraphQL::Helpers::Location::Command::EndPoints, API::UseCases::Lib::ErrorHandling, API::UseCases::OozeSamples::HelpersMigration::Copying, CSV::Split, CSV::Stream, Data::Files::Content, Data::Files::Encoding, Data::Files::Folder, Data::Hashes::ArrayDiff, Data::Locations::Convert, Data::Locations::NodeBase::TagValidations, Data::Locations::NodeBase::Treeify, Data::Locations::NodeLevel::Cleaner
- Defined in:
- lib/eco/language/auxiliar_logger.rb
Overview
Some modules/classes use logger, but they may not be connected to session. This prevents errors with this.
Instance Attribute Summary collapse
-
#logger ⇒ Object
Provides either an available logger or a basic one.
Instance Method Summary collapse
-
#log(*levels, &block) ⇒ NilClass
Shortcut to logger.
Instance Attribute Details
#logger ⇒ Object
Provides either an available logger or a basic one
9 10 11 12 13 14 15 16 |
# File 'lib/eco/language/auxiliar_logger.rb', line 9 def logger return @session.logger if instance_variable_defined?(:@session) && !@session.nil? return send(:session).logger if respond_to?(:session, true) && !send(:session).nil? return ASSETS.session.logger if Object.const_defined?(:ASSETS) return super if defined?(super) @logger ||= Eco::Language::BasicLogger.new end |
Instance Method Details
#log(*levels, &block) ⇒ NilClass
TODO:
allow for more channels (atm it's just :general )
Note:
when :general is included, it ensures at least
:info level is also logged.
Shortcut to logger.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/eco/language/auxiliar_logger.rb', line 23 def log(*levels, &block) return unless logger levels = levels.compact.uniq.map(&:to_sym) levels.unshift(:debug) if levels.include?(:general) && levels.length == 1 levels.uniq.each do |level| next unless logger.respond_to?(:level, true) logger.send(level, &block) end nil end |