Firebase admin.database.enableLogging(true) 不工作
Firebase admin.database.enableLogging(true) not working
我使用的是 Firebase-admin 版本 5.12.0
在我的 app.js
文件中,我尝试使用 admin.database.enableLogging(true);
打印日志事件,但没有任何日志。
当我四处搜索时,我发现了这个 link 并且这个人遇到了同样的问题。 admin.database.enableLogging(true) not working
问题是当我使用 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);
日志
访问它
我只是 运行 在节点脚本中这样做:
admin.database.enableLogging(true)
ref.once("value", function(snapshot) { console.log(snapshot.key); })
得到:
p:0: Listen called for /50281844 default
p:0: Listen on /50281844 for default
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了,还是一样的代码记录(虽然格式看起来有点不一样)。
我完全不确定为什么添加这些代码行会使 admin.database.enableLogging(true)
正常工作,但我只是 c+p 这 4 行代码 from 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);;
我使用的是 Firebase-admin 版本 5.12.0
在我的 app.js
文件中,我尝试使用 admin.database.enableLogging(true);
打印日志事件,但没有任何日志。
当我四处搜索时,我发现了这个 link 并且这个人遇到了同样的问题。 admin.database.enableLogging(true) not working
问题是当我使用 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);
日志
我只是 运行 在节点脚本中这样做:
admin.database.enableLogging(true)
ref.once("value", function(snapshot) { console.log(snapshot.key); })
得到:
p:0: Listen called for /50281844 default
p:0: Listen on /50281844 for default
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了,还是一样的代码记录(虽然格式看起来有点不一样)。
我完全不确定为什么添加这些代码行会使 admin.database.enableLogging(true)
正常工作,但我只是 c+p 这 4 行代码 from 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);;