Firebase admin.database.enableLogging (true) не работает - PullRequest
0 голосов
/ 12 мая 2018

Я использую Firebase-admin версии 5.12.0

В моем файле app.js я пытался использовать admin.database.enableLogging(true); для печати событий журнала, но ничего не записывалось.

Когда я гуглил, я нашел эту ссылку, и у этого парня была такая же проблема. admin.database.enableLogging (true) не работает

Дело в том, что я могу получать журналы при использовании firebase.database.enableLogging(true);

Есть идеи, почему admin.database.enableLogging(true); не работает?

Файл App.js:

const admin = require("firebase-admin");
admin.database.enableLogging(true) // No logs get printed
admin.initializeApp({
  credential: admin.credential.cert({
    projectId: ...,
    privateKey: ...,
    clientEmail: ...
  }),
  databaseURL: ...,
  databaseAuthVariableOverride: { // this isn't working and I want to see if the admin logs will tell me why
       uid: "my-service-worker"
    }
});

const firebase = require('firebase');
firebase.database.enableLogging(true); // Logs print
var config = {
    apiKey: ...,
    authDomain: ...,
    databaseURL: ...,
    storageBucket: ...,
    messagingSenderId: ...
 };
 firebase.initializeApp(config);;

К вашему сведению, я хочу, чтобы журналы с admin.database.enableLogging(true); заключались в том, что databaseAuthVariableOverride не работает, и я хочу посмотреть, смогу ли я выяснить, почему. Я не могу получить к нему доступ с помощью firebase.database.enableLogging(true); журналов

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Я совершенно не уверен, почему при добавлении этих строк кода работает admin.database.enableLogging(true), но я просто нажал эти 4 строки кода отсюда и теперь он печатает.

enter image description here

var db = admin.database();
var ref = db.ref("users");
ref.once("value", function(snapshot) {
  console.log(snapshot.val());
});

Теперь, когда admin.database.enableLogging(true) теперь регистрирует, он печатает журнал, который показывает, что databaseAuthVariableOverride работает:

@firebase/database: p:0: from server: {"r":2,"b":{"s":"ok","d":{"auth":{"uid":"my-service-worker"},"expires":1526144418}}}

Я все еще не могу войти в свою базу данных, но это совсем другая проблема.

Теперь код выглядит так:

const admin = require("firebase-admin");
admin.database.enableLogging(true) // No logs get printed
admin.initializeApp({
  credential: admin.credential.cert({
    projectId: ...,
    privateKey: ...,
    clientEmail: ...
  }),
  databaseURL: ...,
  databaseAuthVariableOverride: { // this is returning the uid that I defined
       uid: "my-service-worker"
    }
});

// I added these 4 lines of code here
var db = admin.database();
var ref = db.ref("users");
ref.once("value", function(snapshot) {
  console.log(snapshot.val());
});

const firebase = require('firebase');
firebase.database.enableLogging(true); // Logs print
var config = {
    apiKey: ...,
    authDomain: ...,
    databaseURL: ...,
    storageBucket: ...,
    messagingSenderId: ...
 };
 firebase.initializeApp(config);;
0 голосов
/ 12 мая 2018

Я только что запустил это в скрипте узла:

admin.database.enableLogging(true)
ref.once("value", function(snapshot) { console.log(snapshot.key); })

И получил:

p: 0: прослушивание вызвано для / 50281844 по умолчанию

p: 0: прослушивать / 50281844 по умолчанию

p: 0: {"r": 25, "a": "q", "b": {"p": "/ 50281844", "h":" "}}

p: 0: handleServerMessage d {" p ":" 50281844 "," d ": {" posts ": {" newPostKey ":" newKeyValue "}," user-posts": {" uid ": {" newPostKey ":" newKeyValue "}}}}

Так что это похоже на стандартное ведение журнала отладки для меня.Обратите внимание, что я посетил слушателя, чтобы получить журнал отладки.Без прослушивателя клиент Firebase не будет подключаться к базе данных, поэтому не будет вывод журнала ведения базы данных.

Обновление

Я обновился с версии 4.0.4 до 4.2.1, котораявсе еще логи для меня.

Я обновился до 5.12.0, и тот же код все еще регистрируется (хотя формат выглядит немного по-другому).

...