1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-23 15:16:54 -05:00
denoland-deno/logging
2019-01-02 13:45:42 -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 Improve logging module (denoland/deno_std#51) 2019-01-02 09:12:48 -05:00
test.ts Disable logging test to pass CI. 2019-01-02 13:45:42 -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