私はGoogle Compute EngineのUbuntu 14.04でnodeJSサーバーを実行しています。私は自分のアプリケーションのためにGoogleのクラウドのロギングを使用したいので、私はグーグルフルントロギングエージェントをインストールしましたhttps://cloud.google.com/logging/docs/agent/installationJSONのログノード同期でWinstonを使用してノードジョブ
ログを書き込むためにwinstonとwinston-syslogを使用しました。ここにコードがあります。
var winston = require('winston');
var winstonsyslog = require('winston-syslog').Syslog;
var options = {
json : true
};
winston.add(winston.transports.Syslog, options);
私はJSONの代わりに、文字列としてログが表示されstructPayload代わりのtextPayloadを取得する方法
{
metadata: {…}
textPayload: "May 14 10:47:44 localhost node[7633]: {"anything":"This is metadata","level":"info","message":"27"}"
insertId: "..."
log: "syslog.local0.info"
}
を取得しています
winston.log('info', "27", { anything: 'This is metadata' });
を使用してログを書いています。
私も同じ問題を抱えています。私は最後に諦めました。[docs](https://cloud.google.com/appengine/articles/logging#cloud_logging_and_the_flexible_environment)に接尾辞 '.log.json'を持つログと、各行にインラインで有効なJSONオブジェクトがあることが必要です。でも、これで私はグーグルのクラウドロギングを通じて読み取ることができませんでした.... FYI: "testPayload"のようにJSONオブジェクトではありません – farridav
Googleのクラウドロギングサービスにログインするためのgcloud nodeJSクライアントを使用しています。どういうわけかhttps://googlecloudplatform.github.io/gcloud-node/#/docs/v0.34.0/logging/log – tacticurv
のように動作します。私はそれがFluentdのフォグの根底にあるフォグをタップしていると思います...私はログを取得することができました[こちら](https://cloud.google.com/logging/docs/view/logs_index#common)と同じフォーマットを模倣して作業しています。正しい方法は[ログエージェント]を使用することですhttps://cloud.google.com/logging/docs/agent/) – farridav