mirror of
https://github.com/bpatrik/pigallery2.git
synced 2025-01-08 04:03:48 +02:00
commit
f5f34c55f3
@ -1,7 +1,7 @@
|
|||||||
import {Config} from '../common/config/private/Config';
|
import {Config} from '../common/config/private/Config';
|
||||||
import {LogLevel} from '../common/config/private/PrivateConfig';
|
import {LogLevel} from '../common/config/private/PrivateConfig';
|
||||||
|
|
||||||
export type logFN = (...args: (string | number)[]) => void;
|
export type logFN = (...args: (string | number | (() => string))[]) => void;
|
||||||
|
|
||||||
const forcedDebug = process.env['NODE_ENV'] === 'debug';
|
const forcedDebug = process.env['NODE_ENV'] === 'debug';
|
||||||
|
|
||||||
@ -11,7 +11,8 @@ if (forcedDebug === true) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export type LoggerFunction = (...args: (string | number)[]) => void;
|
export type LoggerArgs = (string | number | (() => string))
|
||||||
|
export type LoggerFunction = (...args: LoggerArgs[]) => void;
|
||||||
|
|
||||||
export interface ILogger {
|
export interface ILogger {
|
||||||
silly: LoggerFunction;
|
silly: LoggerFunction;
|
||||||
@ -23,67 +24,67 @@ export interface ILogger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const createLoggerWrapper = (TAG: string): ILogger => ({
|
export const createLoggerWrapper = (TAG: string): ILogger => ({
|
||||||
silly: (...args: (string | number)[]) => {
|
silly: (...args: LoggerArgs[]) => {
|
||||||
Logger.silly(TAG, ...args);
|
Logger.silly(TAG, ...args);
|
||||||
},
|
},
|
||||||
debug: (...args: (string | number)[]) => {
|
debug: (...args: LoggerArgs[]) => {
|
||||||
Logger.debug(TAG, ...args);
|
Logger.debug(TAG, ...args);
|
||||||
},
|
},
|
||||||
verbose: (...args: (string | number)[]) => {
|
verbose: (...args: LoggerArgs[]) => {
|
||||||
Logger.verbose(TAG, ...args);
|
Logger.verbose(TAG, ...args);
|
||||||
},
|
},
|
||||||
info: (...args: (string | number)[]) => {
|
info: (...args: LoggerArgs[]) => {
|
||||||
Logger.info(TAG, ...args);
|
Logger.info(TAG, ...args);
|
||||||
},
|
},
|
||||||
warn: (...args: (string | number)[]) => {
|
warn: (...args: LoggerArgs[]) => {
|
||||||
Logger.warn(TAG, ...args);
|
Logger.warn(TAG, ...args);
|
||||||
},
|
},
|
||||||
error: (...args: (string | number)[]) => {
|
error: (...args: LoggerArgs[]) => {
|
||||||
Logger.error(TAG, ...args);
|
Logger.error(TAG, ...args);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export class Logger {
|
export class Logger {
|
||||||
public static silly(...args: (string | number)[]): void {
|
public static silly(...args: LoggerArgs[]): void {
|
||||||
if (!forcedDebug && Config.Server.Log.level < LogLevel.silly) {
|
if (!forcedDebug && Config.Server.Log.level < LogLevel.silly) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Logger.log(`[\x1b[35mSILLY\x1b[0m]`, ...args);
|
Logger.log(`[\x1b[35mSILLY\x1b[0m]`, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static debug(...args: (string | number)[]): void {
|
public static debug(...args: LoggerArgs[]): void {
|
||||||
if (!forcedDebug && Config.Server.Log.level < LogLevel.debug) {
|
if (!forcedDebug && Config.Server.Log.level < LogLevel.debug) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Logger.log(`[\x1b[34mDEBUG\x1b[0m]`, ...args);
|
Logger.log(`[\x1b[34mDEBUG\x1b[0m]`, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static verbose(...args: (string | number)[]): void {
|
public static verbose(...args: LoggerArgs[]): void {
|
||||||
if (!forcedDebug && Config.Server.Log.level < LogLevel.verbose) {
|
if (!forcedDebug && Config.Server.Log.level < LogLevel.verbose) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Logger.log(`[\x1b[36mVERBS\x1b[0m]`, ...args);
|
Logger.log(`[\x1b[36mVERBS\x1b[0m]`, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static info(...args: (string | number)[]): void {
|
public static info(...args: LoggerArgs[]): void {
|
||||||
if (!forcedDebug && Config.Server.Log.level < LogLevel.info) {
|
if (!forcedDebug && Config.Server.Log.level < LogLevel.info) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Logger.log(`[\x1b[32mINFO_\x1b[0m]`, ...args);
|
Logger.log(`[\x1b[32mINFO_\x1b[0m]`, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static warn(...args: (string | number)[]): void {
|
public static warn(...args: LoggerArgs[]): void {
|
||||||
if (!forcedDebug && Config.Server.Log.level < LogLevel.warn) {
|
if (!forcedDebug && Config.Server.Log.level < LogLevel.warn) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Logger.log(`[\x1b[33mWARN_\x1b[0m]`, ...args);
|
Logger.log(`[\x1b[33mWARN_\x1b[0m]`, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static error(...args: (string | number)[]): void {
|
public static error(...args: LoggerArgs[]): void {
|
||||||
Logger.log(`[\x1b[31mERROR\x1b[0m]`, ...args);
|
Logger.log(`[\x1b[31mERROR\x1b[0m]`, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static log(tag: string, ...args: (string | number)[]): void {
|
private static log(tag: string, ...args: LoggerArgs[]): void {
|
||||||
const date = new Date().toLocaleString();
|
const date = new Date().toLocaleString();
|
||||||
let LOG_TAG = '';
|
let LOG_TAG = '';
|
||||||
if (
|
if (
|
||||||
@ -95,6 +96,11 @@ export class Logger {
|
|||||||
LOG_TAG = args[0];
|
LOG_TAG = args[0];
|
||||||
args.shift();
|
args.shift();
|
||||||
}
|
}
|
||||||
|
args.forEach((element:LoggerArgs, index:number) => {
|
||||||
|
if(typeof element === "function"){
|
||||||
|
args[index] = element(); //execute function, put resulting string in the array
|
||||||
|
}
|
||||||
|
});
|
||||||
console.log(date + tag + LOG_TAG, ...args);
|
console.log(date + tag + LOG_TAG, ...args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,14 +67,14 @@ export class Server {
|
|||||||
await ConfigDiagnostics.runDiagnostics();
|
await ConfigDiagnostics.runDiagnostics();
|
||||||
Logger.verbose(
|
Logger.verbose(
|
||||||
LOG_TAG,
|
LOG_TAG,
|
||||||
'using config from ' +
|
() => 'using config from ' +
|
||||||
(
|
(
|
||||||
ConfigClassBuilder.attachPrivateInterface(Config)
|
ConfigClassBuilder.attachPrivateInterface(Config)
|
||||||
.__options as ConfigClassOptions<ServerConfig>
|
.__options as ConfigClassOptions<ServerConfig>
|
||||||
).configPath +
|
).configPath +
|
||||||
':'
|
':'
|
||||||
);
|
);
|
||||||
Logger.verbose(LOG_TAG, JSON.stringify(Config.toJSON({attachDescription: false}), (k, v) => {
|
Logger.verbose(LOG_TAG, () => JSON.stringify(Config.toJSON({attachDescription: false}), (k, v) => {
|
||||||
const MAX_LENGTH = 80;
|
const MAX_LENGTH = 80;
|
||||||
if (typeof v === 'string' && v.length > MAX_LENGTH) {
|
if (typeof v === 'string' && v.length > MAX_LENGTH) {
|
||||||
v = v.slice(0, MAX_LENGTH - 3) + '...';
|
v = v.slice(0, MAX_LENGTH - 3) + '...';
|
||||||
|
Loading…
Reference in New Issue
Block a user