
Rack::Bug는 Rack 애플리케이션에 진단 도구 모음을 추가합니다. 활성화하면 로깅, 데이터베이스 쿼리, 템플릿 렌더링 시간 등을 탐색할 수 있는 플로팅 div를 삽입합니다.
script/plugin install git://github.com/brynary/rack-bug.git
config/environments/development.rb 파일에 다음을 추가합니다:
config.middleware.use "Rack::Bug",
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring"
브라우저에 북마클릿을 추가합니다:
open http://RAILS_APP/__rack_bug__/bookmarklet.html
'Rack::Bug'를 다른 미들웨어처럼 사용하면 됩니다. 예제 Sinatra 앱은 spec/fixtures 폴더의 SampleApp을 참조하세요.
로거 패널을 사용하려면 루비 Logger 또는 ActiveSupport::BufferedLogger인 LOGGER 상수를 정의하세요.
원하는 패널 세트를 표시할 순서대로 지정합니다:
require "rack/bug"
ActionController::Dispatcher.middleware.use Rack::Bug,
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring",
:panel_classes => [
Rack::Bug::TimerPanel,
Rack::Bug::RequestVariablesPanel,
Rack::Bug::RedisPanel,
Rack::Bug::TemplatesPanel,
Rack::Bug::LogPanel,
Rack::Bug::MemoryPanel
]
Rack::Bug는 특정 문제 해결 목적으로 프로덕션에서 실행하기에 충분히 빠르다는 것을 확인했습니다.
미들웨어 구성을 초기화 파일이나 적절한 환경 파일에 추가하고, 이 섹션의 나머지 부분을 고려하세요.
특정 IP 주소로 접근 제한:
require "ipaddr"
ActionController::Dispatcher.middleware.use "Rack::Bug"
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring",
:ip_masks => [IPAddr.new("2.2.2.2/0")]
비밀번호를 사용하여 접근 제한:
ActionController::Dispatcher.middleware.use "Rack::Bug",
:secret_key => "someverylongandveryhardtoguesspreferablyrandomstring",
:password => "yourpassword"
Rack::Bug의 영감은 주로 Django 디버그 툴바에서 얻었습니다. 추가 아이디어는 Rails footnotes, Rack의 ShowException 미들웨어, Oink, Rack::Cache에서 얻었습니다.
Rack::Bug 개발을 지원해 주신 Weplay.com에 감사드립니다.
개발을 위해서는 다음 젬을 설치해야 합니다: rspec, rack-test, webrat, sinatra
이 디렉토리의 MIT-LICENSE.txt 파일을 참조하세요.