## 事象
[[deno_std.log]]でログレベルを変更しようとしても変更できない。デフォルトは`INFO`だが、これを`DEBUG`にしたい場合
```ts
import * as log from "log";
export let logger: log.Logger;
export function initLogger(level: log.LevelName) {
log.setup({
loggers: {
default: {
level,
handlers: ["console"],
},
},
});
logger = log.getLogger();
}
```
のようにして
```ts
import { initLogger, logger } from "./logger.ts";
initLogger("DEBUG")
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
```
としても`.debug`はもちろんのこと、`.info`から`.error`までも表示されない。
## 原因
`log.setup`の中で`handlers`を指定していないから。
> [!thinking] setupの第1引数に入るオブジェクトはデフォルト値を持つが、特定プロパティだけ選択してもマージされないからこうなると思われる。
## 解決方法
`handlers`を追加する。コンソールだけ処理すればいいなら...
```ts
import * as log from "log";
export let logger: log.Logger;
export function initLogger(level: log.LevelName) {
log.setup({
handlers: {
console: new log.handlers.ConsoleHandler(level),
},
loggers: {
default: {
level,
handlers: ["console"],
},
},
});
logger = log.getLogger();
}
```