google-app-engine - 在 gcloud 应用引擎 console.log 中显示对象
问题描述
在应用程序引擎上部署的节点应用程序中使用 console.log 时,如果我 console.log 一个对象,它都是逐行编写的。
我想知道是否可以以干净的方式记录它(cf图片)这是结果console.log('connection: ', connection);
理想情况下,我希望我的对象连接看起来像这样:
我可能在那里遗漏了一些东西,如果有人可以帮助我清楚这会很棒!谢谢
解决方案
要将对象记录为堆栈驱动程序中的一个条目,我使用客户端库。 [1]
使用 [1] 这就是我的 app.js 的外观:
'use strict';
const express = require('express');
const {Logging} = require('@google-cloud/logging');
const app = express();
const logging = new Logging();
const log = logging.log('projects/[PROJECT-ID/logs/[ANY-LOG-NAME]');
const resource = {type: 'gae_app',
labels: {
'project_id': '[PROJECT-ID]',
'module_id': '[SERVICE-NAME]',
'version_id': '[ANY-VERSION-ID]',
'zone': '[CURRENT-APPENGINE-REGION]'
}
};
const entry = log.entry({resource},"Plain message one");
let dict1 = {"First name": "Jhon",
"Last name": "Smith",
"Age":32,
"Gender": "Male" };
const secondentry = log.entry({resource},{dict1});
app.get('/', (req, res) => {
console.log('Using logging client library...');
log.write([entry,secondentry]);
res.status(200).send('Printing some messages to the console').end();
});
这是我的 package.json:
{
"name": "node101",
"engines": {
"node": ">=8.0.0"
},
"scripts": {
"start": "node app.js",
"test": "mocha --exit test/*.test.js"
},
"dependencies": {
"express": "^4.16.3",
"@google-cloud/logging": "^7.3.0"
},
"devDependencies": {
"mocha": "^7.0.0",
"supertest": "^4.0.2"
}
}
正确配置资源变量很重要,否则您的日志将不会出现。我已经使用[2][3] 来配置资源变量,您可以查看它以获取有关其他资源的更多信息。
我使用 --version 标志进行部署;标志的值等于 app.js 中给定的资源变量
gcloud app deploy --version='[ANY-VERSION_ID]'
[1] https://cloud.google.com/logging/docs/api/tasks/creating-logs#writing_log_entries [2] https://cloud.google.com/monitoring/api/resources#tag_gae_app [3] https ://cloud.google.com/logging/docs/reference/v2/rest/v2/MonitoredResource
推荐阅读
- css - 背景图像“封面”和“中心”在android上不起作用
- scala - double 和 DenseVector[Double] 类型中的错误
- c# - mscorlib.dll 中的 System.ArgumentNullException
- sql - SQL:在 Google BigQuery 上查找最近的纬度/经度记录
- java - Java FFmpeg 没有输出
- c# - Visual Studio Asp WebForms 名称不存在
- c - 为什么我的 C 程序不打印 if 语句的输出?
- css - flexbox 列中的图像无法在 Chrome 中正确呈现
- c# - 如何将字符串从一个项目的应用程序域传递到另一个项目的应用程序域
- angular - ionic 4 在键盘上方显示页脚