número de la línea de salida en el archivo de registro de rieles
-
20-09-2019 - |
Pregunta
Desde el raíles de guía la depuración, he encontrado que puedo personalizar la salida a mis archivos de registro usando este método simple:
logger.debug "Person attributes hash: #{@person.attributes.inspect}"
decidí usar esta medir la cantidad de variables a los cambios y pasa a través de control de flujo.
Me gustaría ser capaz de ver el número de la línea de mi código en el que se llama al método logger#debug
. Algo como esto:
logger.debug "Person attributes hash: #{@person.attributes.inspect} from line #{LINE_NUMBER_VAR}"
Solución
logger.debug "Person attributes hash: #{@person.attributes.inspect} from line #{__LINE__}"
Otros consejos
Utilice un decorador de Registrador:
class LoggerDecorator
def initialize(logger)
@logger = logger
end
%w{debug info warn error fatal}.each do |method|
eval(<<-eomethod)
def #{method}(msg)
@logger.#{method}(position) {msg}
end
eomethod
end
private
def position
caller.at(1).sub(%r{.*/},'').sub(%r{:in\s.*},'')
end
end
A partir de los carriles 5, esto es ahora cuece en via:
ActiveRecord::Base.verbose_query_logs = true
la documentación para más
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow