mirror of
https://github.com/versia-pub/server.git
synced 2026-03-13 05:49:16 +01:00
Refactor debugging and logging more
This commit is contained in:
parent
82c6dc17a8
commit
ab6fe6988c
20 changed files with 230 additions and 123 deletions
|
|
@ -336,6 +336,9 @@ export interface Config {
|
|||
/** @default false */
|
||||
log_requests_verbose: boolean;
|
||||
|
||||
/** @default "info" */
|
||||
log_level: "info" | "debug" | "warning" | "error" | "critical";
|
||||
|
||||
/** @default false */
|
||||
log_ip: boolean;
|
||||
|
||||
|
|
@ -591,6 +594,7 @@ export const defaultConfig: Config = {
|
|||
logging: {
|
||||
log_requests: false,
|
||||
log_requests_verbose: false,
|
||||
log_level: "info",
|
||||
log_ip: false,
|
||||
log_filters: true,
|
||||
storage: {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { appendFile, exists, mkdir } from "node:fs/promises";
|
|||
import { dirname } from "node:path";
|
||||
import type { BunFile } from "bun";
|
||||
import chalk from "chalk";
|
||||
import { config } from "config-manager";
|
||||
|
||||
export enum LogLevel {
|
||||
DEBUG = "debug",
|
||||
|
|
@ -11,6 +12,14 @@ export enum LogLevel {
|
|||
CRITICAL = "critical",
|
||||
}
|
||||
|
||||
const logOrder = [
|
||||
LogLevel.DEBUG,
|
||||
LogLevel.INFO,
|
||||
LogLevel.WARNING,
|
||||
LogLevel.ERROR,
|
||||
LogLevel.CRITICAL,
|
||||
];
|
||||
|
||||
/**
|
||||
* Class for handling logging to disk or to stdout
|
||||
* @param output BunFile of output (can be a normal file or something like Bun.stdout)
|
||||
|
|
@ -67,6 +76,12 @@ export class LogManager {
|
|||
message: string,
|
||||
showTimestamp = true,
|
||||
) {
|
||||
if (
|
||||
logOrder.indexOf(level) <
|
||||
logOrder.indexOf(config.logging.log_level as LogLevel)
|
||||
)
|
||||
return;
|
||||
|
||||
if (this.enableColors) {
|
||||
await this.write(
|
||||
`${
|
||||
|
|
@ -113,6 +128,7 @@ export class LogManager {
|
|||
* @param error Error to log
|
||||
*/
|
||||
async logError(level: LogLevel, entity: string, error: Error) {
|
||||
error.stack && (await this.log(LogLevel.DEBUG, entity, error.stack));
|
||||
await this.log(level, entity, error.message);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -164,6 +164,11 @@ export const processRoute = async (
|
|||
|
||||
return output;
|
||||
} catch (err) {
|
||||
await logger.log(
|
||||
LogLevel.DEBUG,
|
||||
"Server.RouteHandler",
|
||||
(err as Error).toString(),
|
||||
);
|
||||
await logger.logError(
|
||||
LogLevel.ERROR,
|
||||
"Server.RouteHandler",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue