mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
feat: add basic logging interfaces
This commit is contained in:
parent
e1533a0869
commit
1e255ca2e4
4
src/logging/LogLevel.ts
Normal file
4
src/logging/LogLevel.ts
Normal file
@ -0,0 +1,4 @@
|
||||
/**
|
||||
* Different log levels, from most important to least important.
|
||||
*/
|
||||
export type LogLevel = 'error' | 'warn' | 'info' | 'verbose' | 'debug' | 'silly';
|
17
src/logging/Logger.ts
Normal file
17
src/logging/Logger.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import type { LogLevel } from './LogLevel';
|
||||
|
||||
/**
|
||||
* Logs messages on a certain level.
|
||||
*
|
||||
* @see getLoggerFor on how to instantiate loggers.
|
||||
*/
|
||||
export interface Logger {
|
||||
/**
|
||||
* Log the given message at the given level.
|
||||
* If the internal level is higher than the given level, the message may be voided.
|
||||
* @param level - The level to log at.
|
||||
* @param message - The message to log.
|
||||
* @param meta - Optional metadata to include in the log message.
|
||||
*/
|
||||
log: (level: LogLevel, message: string, meta?: any) => Logger;
|
||||
}
|
12
src/logging/LoggerFactory.ts
Normal file
12
src/logging/LoggerFactory.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import type { Logger } from './Logger';
|
||||
|
||||
/**
|
||||
* Instantiates new logger instances.
|
||||
*/
|
||||
export interface LoggerFactory {
|
||||
/**
|
||||
* Create a logger instance for the given label.
|
||||
* @param label - A label that is used to identify the given logger.
|
||||
*/
|
||||
createLogger: (label: string) => Logger;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user