【发布时间】:2021-04-16 11:01:32
【问题描述】:
我已经像在文档中一样初始化了记录器:https://atmospherejs.com/ostrio/logger 与 mongodb 的传输:https://atmospherejs.com/ostrio/loggermongo#initialization-isomorphic
import { Logger } from 'meteor/ostrio:logger';
import { LoggerMongo } from 'meteor/ostrio:loggermongo';
export const idLogger = new IdLogger();
export function addMongoDbLogging(idLogger, filters) {
(new LoggerMongo(idLogger , {
collection: AppLogs,
})).enable({
enable: true,
filter: filters,
client: true,
server: true,
});
}
代码位于导入目录中 并且在meteor启动期间调用是在服务器目录中。
if(Meteor.isServer) {
initLogger(); // calls addMongoDbLogging();
}
On 服务器日志可以正常工作。所有日志都写入 AppLogs 集合中。 但是当我尝试从客户端记录一些东西时......什么也没有发生。
同样的行为也适用于控制台等其他传输方式。见:https://atmospherejs.com/ostrio/loggerconsole
服务器端的所有日志都显示在我的控制台中。客户端日志不会显示在服务器或客户端控制台上。
谁能告诉我这里出了什么问题?
更新:server/startup 可能不是同构代码的正确位置。这个应该放在哪里?
【问题讨论】:
-
您在何时何地在客户端订阅 AppLogs 集合,您是否使用
allow允许从客户端插入? -
我还没有发布 AppLogs 并且不使用允许等。这是一个很好的评论,我可以添加这个。但这无法解释,为什么控制台日志记录(它基本上是与 mongo 日志记录相同的另一种传输)不起作用。查看修改。
-
编辑。忽略我之前的评论。我忘记了我已经发布了 AppLogs,因为我在客户端显示日志。
-
@ChristianFritz 可能是初始化所在的位置。也许服务器/启动不是同构代码的方式。