Kim*_*Kim 9 logging google-cloud-platform google-cloud-functions stackdriver
我正在使用Google Cloud Functions和模块@ google-cloud/logging-winston.
我的第一个问题是使用此模块属性
labels: {
execution_id: "idHere"
}
Run Code Online (Sandbox Code Playgroud)
不在Stackdriver日志中,就像我使用常规console.log(''); 是否可以将execution_id恢复到日志中?
此外,我可以向日志添加自定义标签,例如用户ID.我正在尝试使我的日志记录过程更容易,因此我可以通过execution_id查看每个API端点请求的流程,并且还能够通过添加用户ID标签查看特定用户的所有日志.
我当前的日志代码是
'use strict'
import * as winston from 'winston';
const Logger = winston.Logger;
const Console = winston.transports.Console;
import { LoggingWinston } from '@google-cloud/logging-winston'
const loggingWinston = new LoggingWinston();
const logger = new Logger({
level: 'debug', // log at 'debug' and above
transports: [
// Log to the console
new Console(),
// And log to Stackdriver Logging
loggingWinston,
],
});
function formatMessage(message) {
return message;
};
export const error = (message) => {
logger.error(formatMessage(message));
}
export const warn = (message) => {
logger.warn(formatMessage(message));
}
export const verbose = (message) => {
logger.verbose(formatMessage(message));
}
export const info = (message) => {
logger.info(formatMessage(message));
}
export const debug = (message) => {
logger.debug(formatMessage(message));
}
Run Code Online (Sandbox Code Playgroud)
Jos*_*ust -2
从 GCP 文档中,您应该能够编写结构化日志行,如这些示例和 Winston特定示例。
它看起来像这样
// A json log entry with additional context
const metadata = {
severity: 'WARNING',
labels: {
baz: 'bax',
'one-fish': 'two-fish',
},
};
log.info('Hello log line', metadata);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |