forked from Hri7566/mpp-server-dev2
Update logger, add helpers, host env
This commit is contained in:
parent
b6c2adeff4
commit
5c6c25feb1
|
@ -1,39 +1,50 @@
|
|||
import { padNum, unimportant } from "./helpers";
|
||||
|
||||
export class Logger {
|
||||
private static log(method: string, ...args: any[]) {
|
||||
(console as unknown as Record<string, (..._args: any[]) => any>)[
|
||||
method
|
||||
](this.getHHMMSS(), ...args);
|
||||
](
|
||||
unimportant(this.getDate()),
|
||||
unimportant(this.getHHMMSSMS()),
|
||||
...args
|
||||
);
|
||||
}
|
||||
|
||||
public static getHHMMSS() {
|
||||
public static getHHMMSSMS() {
|
||||
const ms = Date.now();
|
||||
|
||||
const s = ms / 1000;
|
||||
const m = s / 60;
|
||||
const h = m / 60;
|
||||
|
||||
const ss = Math.floor(s) % 60;
|
||||
const mm = Math.floor(m) % 60;
|
||||
const hh = Math.floor(h) % 24;
|
||||
const ss = padNum(Math.floor(s) % 60, 2, "0");
|
||||
const mm = padNum(Math.floor(m) % 60, 2, "0");
|
||||
const hh = padNum(Math.floor(h) % 24, 2, "0");
|
||||
const ll = padNum(ms % 1000, 3, "0");
|
||||
|
||||
return `${hh}:${mm}:${ss}`;
|
||||
return `${hh}:${mm}:${ss}.${ll}`;
|
||||
}
|
||||
|
||||
public static getDate() {
|
||||
return new Date().toISOString().split("T")[0];
|
||||
}
|
||||
|
||||
constructor(public id: string) {}
|
||||
|
||||
public info(...args: any[]) {
|
||||
Logger.log("log", `[${this.id}]`, `[\x1b[34mINFO\x1b[0m]`, ...args);
|
||||
Logger.log("log", `[${this.id}]`, `\x1b[34m[info]\x1b[0m`, ...args);
|
||||
}
|
||||
|
||||
public error(...args: any[]) {
|
||||
Logger.log("error", `[${this.id}]`, `[\x1b[31mERROR\x1b[0m]`, ...args);
|
||||
Logger.log("error", `[${this.id}]`, `\x1b[31m[error]\x1b[0m`, ...args);
|
||||
}
|
||||
|
||||
public warn(...args: any[]) {
|
||||
Logger.log("warn", `[${this.id}]`, `[\x1b[33mWARN\x1b[0m]`, ...args);
|
||||
Logger.log("warn", `[${this.id}]`, `\x1b[33m[warn]\x1b[0m`, ...args);
|
||||
}
|
||||
|
||||
public debug(...args: any[]) {
|
||||
Logger.log("debug", `[${this.id}]`, `[\x1b[32mDEBUG\x1b[0m]`, ...args);
|
||||
Logger.log("debug", `[${this.id}]`, `\x1b[32m[debug]\x1b[0m`, ...args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,11 +2,14 @@ import dotenv from "dotenv";
|
|||
import { createEnv } from "@t3-oss/env-core";
|
||||
import { z } from "zod";
|
||||
|
||||
dotenv.config();
|
||||
dotenv.config({
|
||||
path: "./.env"
|
||||
});
|
||||
|
||||
export const env = createEnv({
|
||||
server: {
|
||||
PORT: z.coerce.number(),
|
||||
HOST: z.union([z.string().url(), z.string().ip()]).optional(),
|
||||
SALT: z.string().min(10),
|
||||
ADMIN_PASS: z.string()
|
||||
},
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
export function unimportant(str: string) {
|
||||
return `\x1b[90m${str}\x1b[0m`;
|
||||
}
|
||||
|
||||
export function padNum(
|
||||
num: number,
|
||||
padAmount: number,
|
||||
padChar: string,
|
||||
left: boolean = true
|
||||
) {
|
||||
return left
|
||||
? num.toString().padStart(padAmount, padChar)
|
||||
: num.toString().padEnd(padAmount, padChar);
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
import readline from "readline";
|
||||
|
||||
export const rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
});
|
Loading…
Reference in New Issue