Logging 如何使用Deno登录到文件
我不理解deno日志api。有人能解释一下吗? 我正在尝试将所有消息(错误、警告、信息等)记录到一个文件中。有时间戳也很好 下面是一些代码,基本上来自文档中的示例没有任何内容写入日志文件Logging 如何使用Deno登录到文件,logging,deno,Logging,Deno,我不理解deno日志api。有人能解释一下吗? 我正在尝试将所有消息(错误、警告、信息等)记录到一个文件中。有时间戳也很好 下面是一些代码,基本上来自文档中的示例没有任何内容写入日志文件 import * as log from "https://deno.land/std/log/mod.ts"; async function startLogger() { await log.setup({ handlers: { console: new log.handlers
import * as log from "https://deno.land/std/log/mod.ts";
async function startLogger() {
await log.setup({
handlers: {
console: new log.handlers.ConsoleHandler("DEBUG"),
file: new log.handlers.FileHandler("WARNING", {
filename: "./logTest.txt",
// you can change format of output message using any keys in `LogRecord`
formatter: "{levelName} {msg}",
}),
},
loggers: {
// configure default logger available via short-hand methods above
default: {
level: "DEBUG",
handlers: ["console", "file"],
},
tasks: {
level: "ERROR",
handlers: ["console"],
},
},
});
// get default logger
const logger = log.getLogger();
return logger
}
var logger = await startLogger()
logger.debug('debug should this show up in a file?')
logger.error('error should this show up in a file?')
logger.warning('warn should this show up in a file?')
logger.info('warn should this show up in a file?')
FileHandler
每30秒刷新一次磁盘。如果您等待30秒,您将看到正在写入数据
从文件中:
此处理程序使用缓冲区写入文件,并将自动
每30秒刷新一次,不过你可以用
fileHandler.flush()
。记录日志级别大于的消息
错误将立即刷新
所以看起来只有错误和警告被记录到文件中。为什么没有调试消息?因为在
文件处理程序
级别中有警告
。如何将所有内容(包括调试和信息)都转到文件?在文件处理程序设置中使用调试
而不是警告
。面临相同的问题。即使30秒后,我的日志文件也不会更新。
deno run --allow-write --allow-read testLogger.js