1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-25 00:29:09 -05:00
denoland-deno/logging
2019-01-04 03:39:53 -05:00
..
handlers.ts Improve logging module (denoland/deno_std#51) 2019-01-02 09:12:48 -05:00
index.ts Improve logging module (denoland/deno_std#51) 2019-01-02 09:12:48 -05:00
levels.ts Improve logging module (denoland/deno_std#51) 2019-01-02 09:12:48 -05:00
logger.ts Improve logging module (denoland/deno_std#51) 2019-01-02 09:12:48 -05:00
README.md Add testing module 2019-01-02 13:45:42 -05:00
test.ts Remove logging's flaky basicTest (denoland/deno_std#83) 2019-01-04 03:39:53 -05:00

Basic usage

import * as log from "https://deno.land/x/std/logging/index.ts";

// simple console logger
log.debug("Hello world");
log.info("Hello world");
log.warning("Hello world");
log.error("Hello world");
log.critical("500 Internal server error");

// configure as needed
await log.setup({
  handlers: {
    console: new log.handlers.ConsoleHandler("DEBUG"),
    file: new log.handlers.FileHandler("WARNING", "./log.txt")
  },

  loggers: {
    default: {
      level: "DEBUG",
      handlers: ["console", "file"]
    }
  }
});

// get configured logger
const logger = log.getLogger("default");
logger.debug("fizz"); // <- logs to `console`, because `file` handler requires 'WARNING' level
logger.warning("buzz"); // <- logs to both `console` and `file` handlers

// if you try to use a logger that hasn't been configured
// you're good to go, it gets created automatically with level set to 0
// so no message is logged
const unknownLogger = log.getLogger("mystery");
unknownLogger.info("foobar"); // no-op