Я использую библиотеку @ google-cloud / logging-bunyan (^ 1.2.3) с bunyan (^ 1.8.12) для создания некоторых журналов, которые будут сохранены в bigquery с использованием приемника. Я хотел передать атрибут logName, так как он используется для создания таблицы (имя таблицы). Я делаю это, так как я хочу иметь несколько таблиц для одного и того же бэкэнда (nodeJS 8.16.1). Я провел тест с использованием механизма приложения, и он работал отлично, но после развертывания его в кластере GKE он не печатал указанное имя логина. Вот фрагмент кода, который я развернул, чтобы дать вам представление:
import bunyan from 'bunyan';
import { LoggingBunyan } from '@google-cloud/logging-bunyan';
const loggingBunyan = new LoggingBunyan({
logName: 'driver-status-location', // table name
});
export const driverLocationStatusLogger = bunyan.createLogger({
name: 'yassir-backend-main-log',
streams: [
// Log to the console at 'info' and above
{ stream: process.stdout, level: 'info' },
// And log to Stackdriver Logging, logging at 'info' and above
loggingBunyan.stream('info'),
],
});
export const customDriverLocationStatusLogger = (action, metadata) =>{
driverLocationStatusLogger.info({ labels: { action }, metadata});
}
, а вот формат полученного мной журнала:
{
insertId: "hecxukciyeulfqocw"
jsonPayload: {…}
labels: {…}
logName: "projects/xxx-xx-xx/logs/stdout"
receiveTimestamp: "2019-10-10T09:10:16.034265465Z"
resource: {…}
severity: "INFO"
timestamp: "2019-10-10T09:10:15.292Z"
}
, как вы видите, logName - не тотя указал. Как вы думаете, в чем проблема?