safely do
# keep going if this code fails
end
Las excepciones se rescatan e informan automáticamente a su servicio de informes favorito.
En entornos de desarrollo y prueba, se elevan excepciones para que pueda solucionarlas.
Leer más
Agregue esta línea al archivo gem de su aplicación:
gem "safely_block"
"Oh no, Analytics trajo la búsqueda"
safely { track_search ( params ) }
"Las recomendaciones dejaron de actualizarse debido a un mal usuario"
users . each do | user |
safely ( context : { user_id : user . id } ) { update_recommendations ( user ) }
end
También alias como yolo
Pasar un contexto adicional para informarse con excepciones
safely context : { user_id : 123 } do
# code
end
Especificar un valor predeterminado para devolver las excepciones
show_banner = safely ( default : true ) { show_banner_logic }
Elevar excepciones específicas
safely except : ActiveRecord :: RecordNotUnique do
# all other exceptions will be rescued
end
Pase una matriz para múltiples clases de excepción.
Rescate solo excepciones específicas
safely only : ActiveRecord :: RecordNotUnique do
# all other exceptions will be raised
end
Excepciones de silencio
safely silence : ActiveRecord :: RecordNotUnique do
# code
end
Informes de acelerador con:
safely throttle : { limit : 10 , period : 1 . minute } do
# reports only first 10 exceptions each minute
end
Nota: El límite del acelerador es aproximado y por proceso.
Informa excepciones a una variedad de servicios fuera de la caja.
Nota: El contexto no es compatible con Google Stackdriver y Scout APM
Personalizar informes con:
Safely . report_exception_method = -> ( e ) { Rollbar . error ( e ) }
Con Rails, puede agregar esto en un inicializador.
Por defecto, los mensajes de excepción tienen el prefijo [safely]
. Esto hace que sea más fácil detectar excepciones rescatadas. Apague esto con:
Safely . tag = false
Para informar las excepciones manualmente:
Safely . report_exception ( e )
Para proteger la privacidad de sus usuarios, no envíe datos personales a servicios de excepción. Filtre los campos de formulario confidencial, use ID (no direcciones de correo electrónico) para identificar a los usuarios y enmascarar las direcciones IP.
Con Rollbar, puedes hacer:
Rollbar . configure do | config |
config . person_id_method = "id" # default
config . scrub_fields |= [ :birthday ]
config . anonymize_user_ip = true
end
Mientras trabaje en excepciones, esté atento a los datos personales y corrija según sea necesario.
Ver el CangeLog
Se alienta a todos a ayudar a mejorar este proyecto. Aquí hay algunas maneras en que puede ayudar:
Para comenzar con el desarrollo y las pruebas:
git clone https://github.com/ankane/safely.git
cd safely
bundle install
bundle exec rake test