[heroku] heroku-모든 로그를 보는 방법

heroku에 작은 앱이 있습니다. 로그를보고 싶을 때마다 명령 줄로 이동하여

heroku logs

그것은 단지 약 100 줄을 보여줍니다. heroku에서 애플리케이션의 전체 로그를 볼 수있는 방법이 없습니까?



답변

업데이트 (dawmail333 덕분에) :

heroku logs -n 1500

또는, 통나무를 살리기 위해

heroku logs -t

헤 로쿠 로그 문서

수천 줄 이상이 필요한 경우 heroku의 Syslog Drains를 사용할 수 있습니다

또는 (이전 방법) :

$ heroku run rails c
File.open('log/production.log', 'r').each_line { |line| puts line }


답변

heroku에서 로깅이 크게 향상되었습니다!

$ heroku logs -n 500

보다 나은!

$ heroku logs --tail

참조 : http://devcenter.heroku.com/articles/logging

업데이트

이들은 더 이상 추가 기능이 아니라 기본 기능의 일부입니다. 🙂


답변

Heroku는 로그를 시간순으로 정렬 된 이벤트 스트림으로 취급합니다. *.log이러한 환경에서는 다양한 이유로 파일 시스템의 파일에 액세스 하지 않는 것이 좋습니다.

첫째, 앱에 둘 이상의 dyno가있는 경우 각 로그 파일은 앱 이벤트에 대한 부분보기 만 나타냅니다. 전체 파일을 보려면 모든 파일을 수동으로 집계해야합니다.

둘째, Heroku의 파일 시스템은 dyno가 다시 시작되거나 이동 될 때마다 ( 일일한 번 발생 ) 로그 파일이 손실 될 때마다 일시적인 의미를 갖 습니다. 그래서 당신은 그 단일 dyno의 로그를 하루에 최대로 볼 수 있습니다.

마지막으로 Cedar 스택이 실행 중이 heroku console거나 heroku run bash현재 실행중인 dyno에 연결되지 않습니다. bash명령을 위해 특별히 새로운 것을 생성합니다 . 이것을 일회성 프로세스 라고합니다 . 따라서에 생성 된 프로세스에서 실제 http 프로세스를 실행중인 다른 dyno에 대한 로그 파일을 찾을 수 없습니다 heroku run.

로깅 및 가시성은 일반적으로 Heroku의 일류 시민이며 이러한 문제를 해결하는 몇 가지 도구가 있습니다. 먼저 모든 dyno 및 애플리케이션 / 스택의 모든 계층 에서 실시간으로 애플리케이션 이벤트 스트림을 보려면 이 heroku logs -t명령을 사용하여 출력을 터미널에 출력하십시오.

$ heroku logs -t
2010-09-16T15:13:46-07:00 app[web.1]: Processing PostController#list (for 208.39.138.12 at 2010-09-16 15:13:46) [GET]
2010-09-16T15:13:46-07:00 app[web.1]: Rendering template within layouts/application
2010-09-16T15:13:46-07:00 heroku[router]: GET myapp.heroku.com/posts queue=0 wait=0ms service=1ms bytes=975
2010-09-16T15:13:47-07:00 app[worker.1]: 2 jobs processed at 16.6761 j/s, 0 failed ...

이것은 현재 응용 프로그램의 동작을 관찰하는 데 효과적입니다. 장기간 로그를 저장하려는 경우 로그 보존, 경고 및 트리거를 제공 하는 많은 로깅 추가 기능 중 하나를 사용할 수 있습니다 .

마지막으로, 로그 파일을 직접 저장하려면 Heroku에서 이벤트 스트림을 수신하고 사후 처리 / 분석을 수행하도록 자체 syslog 드레인 을 설정할 수 있습니다 .

요약 : 정적 로그 파일을 사용 heroku console하거나 보지 마십시오 heroku run bash. heroku logs로깅 추가 기능을 사용하여 앱에 대한 Heroku의 로그 이벤트 스트림으로 파이프하십시오 .


답변

개별 스트림 / 필터도 참조하십시오.

예를 들어 애플리케이션 로그 만 테일

heroku logs --source app -t

또는 라우터 로그 만보십시오

heroku logs --ps router

아니면 함께 묶어

heroku logs --source app --ps worker

너무 좋아 ..


답변

위의 답변은 명령 줄에서 볼 수 있도록 도움이됩니다. 반면 GUI를 사용하려면 heroku 계정에 로그인 한 다음 응용 프로그램을 선택하고 마지막으로 로그보기를 클릭해야합니다

이미지보기


답변

Heroku 로깅을 따르십시오

귀하의 로그를 보려면

  1. logs 명령은 기본적으로 100 개의 로그 라인을 검색합니다.

heroku logs

  1. 최대 1500 줄 표시 --num(또는 -n) 옵션.

heroku logs -n 200

  1. 실시간으로 로그 표시

heroku logs --tail

  1. heroku에 많은 앱이 있다면

heroku logs --app your_app_name


답변

heroku logs -t 라이브 로그를 보여줍니다.