2016-08-12 6 views
4

Google Cloud Log Viewerでクライアント側のエラーを表示したいと考えています。 AngularJSアプリケーションからログエントリを作成することは可能ですか?その場合はどうすればよいですか?AngularJSアプリケーションからGoogle Cloud Loggingにログインするにはどうすればよいですか?

+0

GoogleがクライアントにnodejsのStackdriverプラグインを移植していない理由はわかりません。誰かがwebpackとtypescriptを使って作業しているブラウザのノードスタックドライバを取得した場合、コメントしてください! – y3sh

答えて

1

あなたが本当にログビューアでエラーを確認したい場合は、GCEまたはAWS EC2上でこれを行う方法はStackdriver Logging agentをインストールすることで、

  • どちらかが(ポート24224にJSONとしてあなたのログメッセージを書きますin_forward documentation

または

  • は(を見るディスクにログを書き、それらのファイルを監視するエージェントを伝える見ます)。

転送ポートは既にエージェントに予め設定されています。ログファイルを使用する場合は、ログファイルにエージェントを示す独自の設定を書き込む必要があります。

上記のどちらも、サーバー側ですので、あなたのクライアントコードは、何らかの形でサーバーにエラーを転送する必要があります。フォワーディングポートをクライアントに公開することも可能ですが、下記を参照してください。

別の方法としては、サーバから直接クライアント・コードのいずれかからそこStackdriver Error Reporting APIとポストを使用することです。そうすれば、エラーはログビューアではなくStackdriver Error Reporting consoleに表示されます。

エージェントポートまたはエラーレポートAPIのいずれかに直接書き込むことは、関連するポート/ APIキーをインターネットに公開する必要があるため、本質的に安全ではありません(エントリはなりすまし攻撃者はクォータを使い切るなど)。

Google Stackdriverをご利用いただき、ありがとうございます。

+0

あなたの答えをありがとう。私はロギングのためのREST APIを作成し、エージェントがすでに実行されているnode.js AppEngineインスタンスにデプロイされたサーバーソリューションを使いました。次に、Stackdriver JSONログエントリ形式の/var/log/app_engine/custom_logs/client.log.jsonに書き込むだけです。 –

+0

あなたは正しいです、これは解決策です。私はこの代理AppEngineのインスタンスを取り除くのを助けるかもしれないあなたの質問に代わる答えを掲示しました。 – Steren

3

のStackdriverエラー報告は、具体的にアプリケーションエラーのために設計されて、私はむしろのStackdriverがエラーを報告するためにログよりも、それを使用することをお勧めします。

は、クライアント側のエラー・レポートを作成するには、APIキーでHTTP report APIを使用する必要があります。

私はあなたがクライアントからこのエンドポイントを呼び出す支援するためのJavaScriptライブラリーを書いた:https://github.com/GoogleCloudPlatform/stackdriver-errors-js

私は、角アプリでまだそれをテストしていない(ただし、これにはa tracking issueがあります)。これは実験的だとされていますが、すでにかなり安定しているはずです。あなたの貢献は、あなたが問題に遭遇したり手助けしたい場合には歓迎されている

+0

スタックドライバログによるレポートエラーと「スタックドライバエラーレポート」の違いは何ですか? – y3sh

+1

@ y3sh Stackdriverエラー報告はクラッシュ報告ソリューションです。エントリのリストだけでなく、エラーを意味的にグループ化し、各グループの数を追跡します。 – Steren

関連する問題