¿Cuál es la mejor/más fácil forma de configurar el registro para el código guardado en el directorio lib?Rieles: ¿Está registrando el código en el directorio lib?
Respuesta
Hay dos maneras de ir sobre él:
Asumiendo que su biblioteca es autónomo y tiene un módulo, se puede añadir un atributo
logger
a su módulo y el uso que en todas partes de su código de biblioteca.A continuación, o bien utilizar un inicializador en
config/initializers/
, o un bloque deconfig.after_initialize
enconfig/environment.rb
para inicializar el registrador, así:require 'mylibrary' MyLibrary.logger = Rails.logger
Esto todavía podría permitir el uso de la biblioteca de auto-contenido de las escrituras fuera de Rails. Lo cual es bueno, en ocasiones.
Si usar su biblioteca sin rieles realmente no tiene ningún sentido, entonces también puede simplemente usar
Rails.logger
directamente.
En cualquier caso, se trata de un Ruby Logger estándar. También tenga en cuenta que, en teoría, el registrador puede ser nil
.
Podemos usar el registrador Rails directamente en lib, vea el siguiente fragmento.
require 'logger'
Rails.logger.info "Hay..!!! Im in lib"
Rails.logger.debug "Debugging this object from Lib #{object.inspect}"
Rails.logger.error "This is an error..."
Esto funcionó para mí, finalmente, después de darme cuenta de que necesitaba
- 1. Rieles: ¿Cómo probar el código en el directorio lib /?
- 2. Acceso al módulo en el directorio lib (Ruby on rails)
- 3. rieles lib incluye
- 4. ¿dónde está el directorio bin en rails3?
- 5. ¿Dónde rspec prueba el código en lib/go?
- 6. ¿Dónde está el directorio lib/security de JRE en Mac OS X?
- 7. Rieles Motores: Al poner el código en la aplicación, cuando en lib, y cuando en la carpeta de proveedor?
- 8. Registrando datos VMStat en el archivo
- 9. Elmah solo está registrando 15 errores
- 10. Dónde está gnu lib math (libm) código fuente
- 11. Rieles: ¿Cuándo un modelo? Cuando una lib?
- 12. ¿Mi código impide el cruce del directorio?
- 13. Java - mkdir() no está escribiendo el directorio
- 14. ¿Estoy registrando el ObjectContext usando AutoFac correctamente?
- 15. ¿Cómo hacer que Maven copie el archivo de recursos en el directorio WEB-INF/lib?
- 16. No se encontró el archivo Grails JAR en el directorio lib
- 17. ¿Cuánto código en una vista de rieles está bien?
- 18. archivo 'lib' no encontrado al instalar rieles
- 19. proyecto de instalación no está ensamblaje registrando correctamente en GAC
- 20. Determinar si el directorio está bajo el control de git
- 21. Obtener el directorio donde se encuentra el código ejecutado
- 22. ¿Está devolviendo el código válido?
- 23. registrando en ruby
- 24. SASS: importar bourbon lib de otro directorio en stylesheets
- 25. Cómo embellecer el código xml en la aplicación de rieles
- 26. Diferencia entre archivos auxiliares y archivos lib en rieles
- 27. registrando com dll en wix
- 28. Ver solo registrando MotionEvent.ACTION_DOWN
- 29. ¿Cómo puedo "usar lib" el directorio apropiado dependiendo de la ubicación de instalación?
- 30. ¿Cómo configurar el directorio de datos nltk desde el código?
Gracias, esto es exactamente lo que estaba buscando. – drt
NB: esta respuesta contiene información incorrecta y los editores no quieren que los solucione. A menos que (tal vez) esté usando Rails anterior a 2.0, NO "se trata de un Ruby Logger estándar". Rails ahora usa [ActiveSupport :: BufferedLogger] (http://apidock.com/rails/ActiveSupport/BufferedLogger). Si decide crear una instancia de un registrador separado para (por ejemplo) un trabajo cron que esté dentro de un proyecto de Rails, para evitar 'contaminar' el registro de Rails estándar. En este caso, asegúrese de usar 'ActiveSupport :: BufferedLogger.new' en lugar de' Logger.new'. Intenté eso y no funcionó. – Lambart