2015-01-07 1 views
1

작업자 파일에 다음 레일 로거를 추가했습니다.요청 및 응답을 식별하기 위해 rails4 로거에 고유 ID 추가

@@logger = Logger.new "log/rest_client.log" 
    @@logger.level = Logger::DEBUG 
end 


begin 
    @@logger.debug "The request #{url}" 
    response = RestClient.get '#{url}' 
    @@logger.debug "Successful response #{response}" 
rescue => e 
    @@logger.debug "Failure response #{e.message}" 
end 

나는 로거 (rest_client.log)의 고유 ID와 요청 및 응답 (성공 또는 실패)를 식별합니다.

이제 로그

D, [2014-12-09T14:27:18.576498 #29871] DEBUG -- : The request https://api.bitfinex.com/v1/symbols 
D, [2014-12-09T14:27:21.547365 #29874] DEBUG -- :Successful response ["btcusd","ltcusd","ltcbtc","drkusd","drkbtc","th1btc"] 

내가 모두 동일한에 속하는 식별 할 수 요청 및 응답 모두에 고유 한 어떤 일을 할 것입니다.

답변

1

각 단계에서 로그 메시지의 내용을 제어하므로 요청이있을 때마다 고유 한 ID를 만들어 사용할 수 있습니다. 타임 스탬프에 기반한 ID는 고유합니다.

한 가지 가능한 솔루션 :

begin 
    unique_id = "ID-" + Time.now.strftime("%Y%m%d-%H%M%S") 
    @@logger.debug "#{unique_id}: The request #{url}" 
    response = RestClient.get '#{url}' 
    @@logger.debug "#{unique_id}: Successful response #{response}" 
rescue => e 
    @@logger.debug "#{unique_id}: Failure response #{e.message}" 
end 

로그 :

D, [2014-12-09T14:27:18.576498 #29871] DEBUG -- : ID-20141209-142718: The request https://api.bitfinex.com/v1/symbols 
D, [2014-12-09T14:27:21.547365 #29874] DEBUG -- : ID-20141209-142718: Successful response ["btcusd","ltcusd","ltcbtc","drkusd","drkbtc","th1btc"] 
관련 문제