hypertune
Version:
[Hypertune](https://www.hypertune.com/) is the most flexible platform for feature flags, A/B testing, analytics and app configuration. Built with full end-to-end type-safety, Git-style version control and local, synchronous, in-memory flag evaluation. Opt
33 lines (29 loc) • 787 B
text/typescript
/* eslint-disable no-console */
import { LogLevel } from "..";
import getLocalLogArguments from "./getLocalLogArguments";
export default function defaultLocalLogger(
level: LogLevel,
message: string,
metadata: object
): void {
if (level === LogLevel.Debug) {
return;
}
toConsoleFunction(level)(...getLocalLogArguments(message, metadata));
}
function toConsoleFunction(logLevel: LogLevel): typeof console.log {
switch (logLevel) {
case LogLevel.Error:
return console.error;
case LogLevel.Warn:
return console.warn;
case LogLevel.Info:
return console.info;
case LogLevel.Debug:
return console.debug;
default: {
const neverLevel: never = logLevel;
throw new Error(`Unknown log level: ${neverLevel}`);
}
}
}