10월, 2016의 게시물 표시

ES를 이용한 Rails 로그 분석 시스템 세팅

로그 분석 시스템 세팅 관련 ES를 이용한 로그 분석 시스템 세팅 과정 1. 서버에 td_agent 설치 다운로드 Fluentd plugin 설치 $ /usr/sbin/td-agent-gem install elasticsearch excon minitest rake test-unit webmock fluentd fluent-plugin-elasticsearch $ /usr/sbin/td-agent-gem install elasticsearch excon minitest rake test-unit webmock fluentd fluent-plugin-elasticsearch' 2. 서버에 ElasticSearch 설치 CentOS 설치 3. 레일즈 프로젝트에 lograge 설정 Gemfile에 lograge 추가 lograge 젬 설치 lograge 설정 ({project_path}/config/initializers/lograge.rb) config = WheelAdmin::Application.config # lograge : 로그를 특정 기간동안으로 잘라서 기록 config.lograge.enabled = true # 기본 rails 로그도 남겨 놓도록 설정 config.lograge.keep_original_rails_log = true # lograge 결과 파일명 config.lograge.logger = ActiveSupport::Logger.new "#{Rails.root}/log/lograge_#{Rails.env}.log" # json 으로 로그 남기도록 formatting module LogrageFormatter    module_function      def call(data)      result = data.inject({}) { |h, (k, v)| h[k] = v; h }     result.to_json    end end # lograge 에 jso

루비 코드 커버리지 관련 세팅

커버리지 정리 루비 코드 커버리지 관련 세팅 참고자료 https://github.com/colszowka/simplecov https://github.com/fguillen/simplecov-rcov 1. Gemfile에 simplecov, simplecov-rcov 추가 SimpleCov: 루비를 위한 코드 커버리지 분석 툴 SimpleCov-Rcov: SimpleCov를 사용해 Rcov 스타일로 생성해주는 포맷터 gem 'simplecov', require: false gem 'simplecov-rcov' 2. spec_helper 세팅 spec_helper에 커버리지 관련 세팅해서 Rspec 테스트 돌릴 때마다 커버리지 리포트 생성하도록 설정 require 'simplecov' require 'simplecov-rcov'   # SimpleCov 포맷터 지정 SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter SimpleCov.start 'rails' do    add_filter '/app/' # 커버리지 제외할 디렉토리 설정   add_filter '/spec/'   add_filter '/config/' end 3. .gitignore 파일에 coverage 디렉토리 추가 생성된 커버리지 리포트 ignore 적용 coverage/ 4. Rspec 테스트 실행 후 커버리지 리포트 확인 커버리지 리포트로 소스 코드 커버리지 확인 coverage/rcov/index.html