safely do
# keep going if this code fails
end
예외는 구조되어 좋아하는보고 서비스에 자동으로보고됩니다.
개발 및 테스트 환경에서 예외가 제기되어 고칠 수 있습니다.
더 읽으십시오
이 라인을 응용 프로그램의 보석에 추가하십시오.
gem "safely_block"
"아뇨, 분석이 검색을 중단했습니다"
safely { track_search ( params ) }
"한 명이 나쁜 사용자로 인해 권장 사항이 업데이트되지 않았습니다."
users . each do | user |
safely ( context : { user_id : user . id } ) { update_recommendations ( user ) }
end
또한 yolo
와 같은 별명입니다
예외와 함께보고 할 추가 컨텍스트를 통과하십시오
safely context : { user_id : 123 } do
# code
end
예외를 반환 할 기본값을 지정하십시오
show_banner = safely ( default : true ) { show_banner_logic }
구체적인 예외를 제기하십시오
safely except : ActiveRecord :: RecordNotUnique do
# all other exceptions will be rescued
end
여러 예외 클래스의 배열을 전달하십시오.
구체적인 예외 만 구출하십시오
safely only : ActiveRecord :: RecordNotUnique do
# all other exceptions will be raised
end
침묵 예외
safely silence : ActiveRecord :: RecordNotUnique do
# code
end
스로틀보고 :
safely throttle : { limit : 10 , period : 1 . minute } do
# reports only first 10 exceptions each minute
end
참고 : 스로틀 한계는 대략적이고 프로세스 당입니다.
상자 밖에서 다양한 서비스에 대한 예외를보고합니다.
참고 : Google Stackdriver 및 Scout APM에서는 컨텍스트가 지원되지 않습니다.
다음과 함께보고를 사용자 정의하십시오.
Safely . report_exception_method = -> ( e ) { Rollbar . error ( e ) }
레일을 사용하면이 초기화에 추가 할 수 있습니다.
기본적으로 예외 메시지는 [safely]
와 접두사를 만듭니다. 따라서 구조 된 예외를 쉽게 찾을 수 있습니다. 다음과 같이 끄십시오.
Safely . tag = false
예외를 수동으로보고하려면 :
Safely . report_exception ( e )
사용자의 개인 정보를 보호하려면 개인 데이터를 예외 서비스로 보내지 마십시오. 민감한 양식 필드를 필터링하고 ID (이메일 주소가 아님)를 사용하여 사용자를 식별하고 IP 주소를 마스킹하십시오.
롤바를 사용하면 다음을 수행 할 수 있습니다.
Rollbar . configure do | config |
config . person_id_method = "id" # default
config . scrub_fields |= [ :birthday ]
config . anonymize_user_ip = true
end
예외를 제외하고 작업하는 동안 개인 데이터를 찾고 필요에 따라 수정하십시오.
ChangeLog를 봅니다
모든 사람들은이 프로젝트를 개선하는 데 도움이됩니다. 다음은 도움을 줄 수있는 몇 가지 방법입니다.
개발 및 테스트를 시작하려면 :
git clone https://github.com/ankane/safely.git
cd safely
bundle install
bundle exec rake test