feat(sern.ts): beginning to add new basic logger system

This commit is contained in:
jacoobes
2022-02-21 01:58:25 -06:00
parent d17f999d69
commit ef9d53e6b1
2 changed files with 14 additions and 10 deletions

View File

@@ -2,9 +2,10 @@ import dayJS from 'dayjs';
import Timezone from 'dayjs/plugin/timezone';
import UTC from 'dayjs/plugin/timezone';
enum sEvent {
export enum sEvent {
GLOBAL_SLASH,
LOCAL_SLASH,
MISUSE_CMD,
DM,
CRASH,
TEXT_CMD,
@@ -15,13 +16,13 @@ export default class Logger {
console.clear();
}
public log<T extends sEvent>(e: T, message: string) {
public log<T extends sEvent>(e: T, guildId: string, message: string) {
dayJS.extend(UTC);
dayJS.extend(Timezone);
dayJS.tz.guess();
// add colored logging?
const tz = dayJS().format();
console.log(`[${tz}][${sEvent[e]}] :: ${message}`);
console.log(`[${tz}][${sEvent[e]}] @ ${guildId} :: ${message}`);
}
/**

View File

@@ -17,7 +17,7 @@ import type {
} from 'discord.js';
import { Ok, None, Some } from 'ts-results';
import { isNotFromBot, hasPrefix, fmt } from './utilities/messageHelpers';
import Logger from './logger';
import Logger, { sEvent } from './logger';
import { AllTrue } from './utilities/higherOrders';
/**
@@ -26,7 +26,7 @@ import { AllTrue } from './utilities/higherOrders';
export class Handler {
private wrapper: Wrapper;
private defaultLogger : Logger = new Logger();
/**
*
* @constructor
@@ -46,7 +46,7 @@ export class Handler {
Files.buildData(this)
.then(data => this.registerModules(data));
wrapper.init?.(this);
new Logger().tableRam();
this.defaultLogger.tableRam();
})
.on('messageCreate', async (message: Message) => {
@@ -117,11 +117,14 @@ export class Handler {
if (module.mod.visibility === 'private') {
const checkIsTestServer = this.privateServers.find(({ id }) => id === message.guildId!)?.test;
if (checkIsTestServer === undefined)
return 'This command has the private modifier but is not registered under Handler#privateServers';
this.defaultLogger.log(
sEvent.MISUSE_CMD,
message.guildId!,
`${module} has private modifier but is not registered in private server config`
)
if (checkIsTestServer !== module.mod.test) {
const msg = `This command is only available on test servers.`; // TODO: Customizable private message
return msg;
return `This command is only available on test servers.`; // TODO: Customizable private message
}
}
const context = {