summaryrefslogtreecommitdiff
path: root/std/log/mod.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/log/mod.ts')
-rw-r--r--std/log/mod.ts20
1 files changed, 13 insertions, 7 deletions
diff --git a/std/log/mod.ts b/std/log/mod.ts
index 6006b73e1..d5eed7479 100644
--- a/std/log/mod.ts
+++ b/std/log/mod.ts
@@ -6,6 +6,7 @@ import {
WriterHandler,
FileHandler
} from "./handlers.ts";
+import { assert } from "../testing/mod.ts";
export class LoggerConfig {
level?: string;
@@ -50,16 +51,20 @@ export const handlers = {
export function getLogger(name?: string): Logger {
if (!name) {
- return state.loggers.get("default")!;
+ const d = state.loggers.get("default");
+ assert(
+ d != null,
+ `"default" logger must be set for getting logger without name`
+ );
+ return d;
}
-
- if (!state.loggers.has(name)) {
+ const result = state.loggers.get(name);
+ if (!result) {
const logger = new Logger("NOTSET", []);
state.loggers.set(name, logger);
return logger;
}
-
- return state.loggers.get(name)!;
+ return result;
}
export const debug = (msg: string, ...args: unknown[]): void =>
@@ -105,8 +110,9 @@ export async function setup(config: LogConfig): Promise<void> {
const handlers: BaseHandler[] = [];
handlerNames.forEach((handlerName): void => {
- if (state.handlers.has(handlerName)) {
- handlers.push(state.handlers.get(handlerName)!);
+ const handler = state.handlers.get(handlerName);
+ if (handler) {
+ handlers.push(handler);
}
});