4.2.3. OpenShift での Node.js デバッグログへのアクセス
OpenShift のアプリケーション Pod で DEBUG 環境変数を使用して、デバッグロギングを有効にします。
前提条件
- デバッグロギングを使用するアプリケーション。
-
CLI クライアント
ocがインストールされている。
手順
ocCLI クライアントを使用して、OpenShift インスタンスにログインします。$ oc login ...アプリケーションを OpenShift にデプロイします。
$ npm run openshiftこれにより、
openshiftnpm スクリプトを実行します。これは nodeshift への直接呼び出しをラップします。Pod の名前を見つけ、ログを追跡して起動を監視します。
$ oc get pods .... $ oc logs -f pod/POD_NAME重要Pod が起動したら、このコマンドを実行したままにして、新しいのターミナルウィンドウで残りの手順を実行します。これにより、ログを 追跡 でき、そのログの新しいエントリーを確認することができます。
アプリケーションをテストします。
たとえば、REST API Level 0 のサンプル にデバッグロギングがあり、
/api/greetingメソッドのname変数をログに記録した場合は、以下のようになります。$ oc get routes ... $ curl $APPLICATION_ROUTE/api/greeting?name=Sarah- Pod ログに戻り、ログにデバッグロギングメッセージがないことに注意してください。
DEBUG環境変数を設定して、デバッグロギングを有効にします。$ oc get dc ... $ oc set env dc DC_NAME DEBUG=myexamplePod ログに戻り、更新ロールアウトを監視します。
更新がロールアウトされると Pod が停止し、ログをフォローしなくなります。
新規 Pod の名前を見つけ、ログを追跡します。
$ oc get pods .... $ oc logs -f pod/POD_NAME重要Pod が起動したら、このコマンドを実行したままにして、別のターミナルウィンドウで残りの手順を実行します。これにより、ログを 追跡 でき、そのログの新しいエントリーを確認することができます。具体的には、ログにはデバッグメッセージが表示されます。
アプリケーションをテストして、デバッグロギングを呼び出します。
$ oc get routes ... $ curl $APPLICATION_ROUTE/api/greeting?name=SarahPod ログに戻り、デバッグメッセージを表示します。
... myexample name: Sarah +3m
デバッグロギングを無効にするには、Pod から DEBUG 環境変数を削除します。
$ oc set env dc DC_NAME DEBUG-
関連情報
環境変数についての詳細は、OpenShift のドキュメント を参照してください。