簡體   English   中英

如何使用 Deno 登錄到文件

[英]how to log to a file with 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.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?')

deno run --allow-write --allow-read testLogger.js

FileHandler每 30 秒刷新一次磁盤。 如果您等待 30 秒,您將看到正在寫入數據。

從文檔中:

此處理程序使用緩沖區寫入文件,並每 30 秒自動刷新一次,但您可以使用fileHandler.flush()自己觸發此操作。 日志級別大於錯誤的日志消息會立即刷新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM