일부 피드백 logger
은 SprocketsTask
인 attribute
입니다.
require 'logger'
module Rake
# Simple Sprockets compilation Rake task macro.
#
# Rake::SprocketsTask.new do |t|
# t.environment = Sprockets::Environment.new
# t.output = "./public/assets"
# t.assets = %w(application.js application.css)
# end
#
class SprocketsTask < Rake::TaskLib
# Logger to use during rake tasks. Defaults to using stderr.
#
# t.logger = Logger.new($stdout)
#
attr_accessor :logger
나는 api에서 정보를 찾지 못했습니다은 레일에 의해 사용되는 Log4r 로거에 대한 Rails Guide에 좋은 설명이있다.
이
코드의 설명은 당신이
레일 로그 정보를 기록 할 수 ActiveSupport :: Logger 클래스를 사용합니다
포함되어 있습니다. Log4r과 같은 다른 로거도 대체 될 수 있습니다./명령
config.logger = Logger.new(STDOUT)
config.logger = Log4r::Logger.new("Application Log")
이 Rails.root에서 기본적으로 로그 파일을 생성/
로그 :
당신은 예를 들어, 설정/application.rb 또는 다른 환경 파일에서 다른 로거를 지정할 수 있습니다
당신이 필요로하는 정보가 무엇인가가 기록되는 경우에 대한 log levels
, 그것은 일 경우 해당 로그에 인쇄되어 있습니다 e 메시지의 로그 레벨이 구성된 로그 레벨과 같거나 높은 경우. 현재 로그 수준을 알고 싶으면 Rails.logger.level
메서드를 호출 할 수 있습니다.
가능한 로그 수준은 : :debug
, :info
, :warn
, :error
, :fatal
및 :unknown
각각 5 0에서 로그 레벨 번호에 대응. 기본 로그 레벨을 변경하려면, 이것은 Log4r::Logger.rb
클래스입니다
config.log_level = :warn # In any environment initializer, or
Rails.logger.level = 0 # at any time
사용합니다. 으로 설정된 :level
에 대해서는 attr_reader
입니다.
module Log4r
# See log4r/logger.rb
class Logger
attr_reader :name, :fullname, :path, :level, :parent
attr_reader :additive, :trace, :outputters
# Logger requires a name. The last 3 parameters are:
#
# level:: Do I have a level? (Otherwise, I'll inherit my parent's)
# additive:: Am I additive?
# trace:: Do I record the execution trace? (slows things a wee bit)
def initialize(_fullname, _level=nil, _additive=true, _trace=false)
# validation
raise ArgumentError, "Logger must have a name", caller if _fullname.nil?
Log4rTools.validate_level(_level) unless _level.nil?
validate_name(_fullname)
# create the logger
@fullname = _fullname
@outputters = []
@additive = _additive
deal_with_inheritance(_level)
LoggerFactory.define_methods(self)
self.trace = _trace
Repository[@fullname] = self
end
당신은 수행하여 레벨을 설정할 수 있습니다 :
Log4r::Logger.new('Assets Log', :warn)
그래서 내가
t.logger.level = 2
이
level
-
:warn
Rake::SprocketsTask.new do |t|
t.logger = Logger.new("log/assets.log")
t.logger.level = 2
end
:debug
, :info
, :warn
, :error
,,321을 설정해야합니다 생각 0 및 :unknown
으로, 0에서 5까지의 로그 수준 번호에 각각 해당합니다.
또한이 Log4r::Logger
가 방법 def level=(_level)
가지고 있으므로 level
특성을 재 - 설정 작업. (내가 말한대로)
# Set the logger level dynamically. Does not affect children.
def level=(_level)
Log4rTools.validate_level(_level)
@level = _level
LoggerFactory.define_methods(self)
Logger.log_internal {"Logger '#{@fullname}' set to #{LNAMES[@level]}"}
@level
end
당신은 이미'레이크 :: SprocketsTask을 시도하여 환경/development.rb에, 자세한 응답 ❤️ 만에 – fangxing