Compare commits
2 Commits
4c68f237ff
...
40f6bc572e
Author | SHA1 | Date | |
---|---|---|---|
40f6bc572e | |||
115e832109 |
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@navy.gif/logger",
|
||||
"version": "2.4.2",
|
||||
"version": "2.4.3",
|
||||
"description": "Logging thing",
|
||||
"author": "Navy.gif",
|
||||
"license": "MIT",
|
||||
|
@ -44,6 +44,7 @@ const customTypes: string[] = [];
|
||||
const guard = '_logger';
|
||||
const webhook: { url?: string, id?: string, token?: string } = {};
|
||||
const pruneDays = 3;
|
||||
const skipFileWrite = false;
|
||||
|
||||
type LogLevelType = {
|
||||
debug: LogLevel,
|
||||
@ -83,7 +84,8 @@ export type LoggerMasterOptions = SharedOptionsType & {
|
||||
customColours?: { [key: string]: number | string },
|
||||
broadcastLevel?: number,
|
||||
webhook?: WebhookClientOptions,
|
||||
pruneDays?: number
|
||||
pruneDays?: number,
|
||||
skipFileWrite?: boolean
|
||||
}
|
||||
|
||||
const MasterOptions: LoggerMasterOptions = {
|
||||
@ -95,7 +97,8 @@ const MasterOptions: LoggerMasterOptions = {
|
||||
customColours,
|
||||
broadcastLevel: 4,
|
||||
webhook,
|
||||
pruneDays
|
||||
pruneDays,
|
||||
skipFileWrite
|
||||
};
|
||||
|
||||
export type LoggerClientOptions = SharedOptionsType;
|
||||
|
@ -51,6 +51,7 @@ class MasterLogger implements Logger
|
||||
#rotateTO: NodeJS.Timeout;
|
||||
#pruneInterval: NodeJS.Timer;
|
||||
#pruneDays: number;
|
||||
#skipFileWrite: boolean;
|
||||
|
||||
constructor (config = Defaults.MasterOptions)
|
||||
{
|
||||
@ -58,7 +59,7 @@ class MasterLogger implements Logger
|
||||
const {
|
||||
directory, customTypes = [], customStreams = [], customTypeMapping,
|
||||
customColours, guard, fileRotationFreq, logLevel, logLevelMapping,
|
||||
webhook, broadcastLevel, pruneDays
|
||||
webhook, broadcastLevel, pruneDays, skipFileWrite
|
||||
} = { ...Defaults.MasterOptions, ...config };
|
||||
|
||||
if (!directory)
|
||||
@ -76,6 +77,7 @@ class MasterLogger implements Logger
|
||||
addLogLevel(name, level);
|
||||
});
|
||||
this.#_guard = guard as string;
|
||||
this.#skipFileWrite = skipFileWrite as boolean;
|
||||
|
||||
this.#types = [ ...customTypes, ...Defaults.Types ];
|
||||
for (const type of this.#types)
|
||||
@ -105,6 +107,9 @@ class MasterLogger implements Logger
|
||||
|
||||
this.#streamTypes = [ ...customStreams, 'error', 'default' ];
|
||||
this.#streamTypeMapping = { ...Defaults.TypeStream, ...customTypeMapping };
|
||||
if (this.#skipFileWrite)
|
||||
this.#writeStreams = {};
|
||||
else
|
||||
this.#writeStreams = this.#streamTypes.reduce((acc, type) =>
|
||||
{
|
||||
acc[type] = this.loadFile(type);
|
||||
@ -232,6 +237,8 @@ class MasterLogger implements Logger
|
||||
});
|
||||
}
|
||||
|
||||
if (this.#skipFileWrite)
|
||||
return;
|
||||
const streamType = this.#streamTypeMapping[type] || 'default';
|
||||
if (this.#writeStreams[streamType])
|
||||
this.#writeStreams[streamType].write(`\n${type}${spacer} ${header}: ${subheader}${text}`);
|
||||
|
Loading…
Reference in New Issue
Block a user