typescript - 在 deno 记录器的控制台中看不到
问题描述
我写了一个非常简单的 Typescript 类。但我无法在控制台中看到记录器。我想知道我做错了什么。我参考了以下链接。 https://deno.land/std/log
import * as log from "https://deno.land/std/log/mod.ts";
export class Test1 {
public show() {
log.debug("Hello world");
log.info("Hello world");
log.warning("Hello world");
log.error("Hello world");
log.critical("500 Internal server error");
console.log("Hello ....")
}
}
const test = new Test1();
test.show();
请在这种情况下建议我。我正在学习deno。
解决方案
默认记录器中有一个错误,设置是异步发生的,所以你必须等到它被正确设置。
目前,一种解决方法是等到下一个滴答声
import * as log from "https://deno.land/std/log/mod.ts";
await new Promise((resolve) => setTimeout(resolve, 0));
export class Test1 {
/* ... */
}
或设置您自己的记录器:
import * as log from "https://deno.land/std/log/mod.ts";
await log.setup({
handlers: {
console: new log.handlers.ConsoleHandler("DEBUG"),
},
loggers: {
// configure default logger available via short-hand methods above
default: {
level: "DEBUG",
handlers: ["console"],
}
},
});
const logger = log.getLogger()
export class Test1 {
public show() {
logger.debug("Hello world");
logger.info("Hello world");
logger.warning("Hello world");
logger.error("Hello world");
logger.critical("500 Internal server error");
console.log("Hello ....")
}
}
const test = new Test1();
test.show();
更新:我已经为此提交了PR,希望它很快就会按预期工作。
第二次更新: PR 已合并,将于std/0.52.0
.
推荐阅读
- javascript - 无法加载资源:从 localhost 获取时 net::ERR_CONNECTION_REFUSED
- android - 约束布局不适合屏幕尺寸的问题
- scala - Scala 初始化顺序
- elasticsearch - elasticsearch的elastic-builder npm的functionScoreQuery查询
- gcc - 为什么在通过静态方法初始化时允许私有移动构造函数?
- tensorflow - 将 Keras Gru 模型转换为 tf-lite
- ruby-on-rails - Bundler::RubyVersionMismatch:您的 Ruby 版本是 2.3.1,但您的 Gemfile 指定的是 2.1.8
- mysql - 从容器连接到远程数据库服务器时出错
- python - 如何在不创建新字典的情况下更新字典?
- android-intent - 从图库中共享图像接收到的 Intent.Data 为空