mirror of
https://github.com/Rolands-Laucis/Socio.git
synced 2026-05-15 14:15:57 -06:00
logging log level by string name
This commit is contained in:
parent
11f04148cd
commit
128148da5b
3 changed files with 22 additions and 5 deletions
|
|
@ -36,7 +36,7 @@ export const colors = {
|
|||
//types
|
||||
export type err = E | string | any;
|
||||
export type LogHandlers = { [handler in "error" | "info" | "debug"]: Function | null; };
|
||||
export type LoggerOptions = { log_handlers?: LogHandlers, verbose?: boolean, hard_crash?: boolean, prefix?: string, use_color?: boolean, log_level?:LogLevel};
|
||||
export type LoggerOptions = { log_handlers?: LogHandlers, verbose?: boolean, hard_crash?: boolean, prefix?: string, use_color?: boolean, log_level?:LogLevel | string};
|
||||
|
||||
// enums, which compile to js dicts
|
||||
export enum LogLevel{
|
||||
|
|
@ -73,7 +73,24 @@ export class LogHandler {
|
|||
this.verbose = verbose;
|
||||
this.hard_crash = hard_crash;
|
||||
this.prefix = prefix;
|
||||
if (log_level !== undefined) this.log_level = log_level;
|
||||
if (log_level !== undefined){
|
||||
if(typeof log_level === 'string'){
|
||||
if (Object.keys(LogLevel).includes(log_level.toUpperCase()))
|
||||
this.log_level = LogLevel[log_level.toUpperCase() as keyof typeof LogLevel];
|
||||
else
|
||||
LogHandler.info(`Log level must be a string or number (${Object.keys(LogLevel)}), got ${log_level}`); //this is a dev error, so i dont need to handle it in prod
|
||||
}
|
||||
else if (typeof log_level === 'number'){
|
||||
if( log_level >= LogLevel.DEBUG && log_level <= LogLevel.ERROR)
|
||||
this.log_level = log_level as LogLevel;
|
||||
else
|
||||
LogHandler.info(`Log level must be a string or number (${Object.keys(LogLevel)}`);
|
||||
}
|
||||
else
|
||||
LogHandler.info(`Log level must be a string or number (${Object.keys(LogLevel)}), got ${typeof log_level}`);
|
||||
|
||||
if(!this.log_level) this.log_level = LogLevel.DEBUG; //default log level
|
||||
}
|
||||
if (log_handlers !== undefined) this.log_handlers = log_handlers;
|
||||
|
||||
// set to use colors in terminal logs. Non-chromium browsers dont support these color bytes, so lets not spam garbage in the console.
|
||||
|
|
|
|||
4
core/package-lock.json
generated
4
core/package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "socio",
|
||||
"version": "1.13.12",
|
||||
"version": "1.13.13",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "socio",
|
||||
"version": "1.13.12",
|
||||
"version": "1.13.13",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"js-yaml": "^4.1.0",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "socio",
|
||||
"version": "1.13.12",
|
||||
"version": "1.13.13",
|
||||
"description": "A WebSocket Real-Time Communication (RTC) API framework.",
|
||||
"main": "./dist/core.js",
|
||||
"type": "module",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue