summaryrefslogtreecommitdiff
path: root/logging/README.md
blob: 1d88cb07084932de26416adcb69bb9cd8b5768f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Basic usage

```ts
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
```