logger - ZeMA-gGmbH/NoPE-JS GitHub Wiki
Author
Martin Karkowski
Email
This module contains the basics of for logging content.
For a logger please use the following methods.
- defineNopeLogger -> Helper to define Logger, based on given parameters or prevent to create that logger.
- getCentralNopeLogger -> The main Logger (singleton)
-
getNopeLogger -> A logger with a given name. Child of the
centralLogger
To change the logging behavior use the one of the following funtions:
You can convert the logger to an eventEmitter using the function getLogerAsEventEmitter
In the backend (nodejs) you can use the useLogFile method to log the content to a file.
- Lets create our logger:
// First lets install nope using npm
const nope = require("../dist-nodejs/index.nodejs");
// Create our Observable:
const logger = nope.getNopeLogger("demo");Now, that our logger has been created, we are able to log our first messages:
logger.trace("hello from 'trace' level")
logger.debug("hello from 'debug' level")
logger.info("hello from 'info' level")
logger.warn("hello from 'warn' level")
logger.error("hello from 'error' level")2023-03-28T15:50:49.827Z - DEBUG - demo : hello from 'debug' level 2023-03-28T15:50:49.827Z - INFO - demo : hello from 'info' level 2023-03-28T15:50:49.827Z - WARN - demo : hello from 'warn' level 2023-03-28T15:50:49.827Z - ERROR - demo : hello from 'error' level
To change the logging level use the property level:
logger.setLevel(nope.WARN);logger.trace("hello from 'trace' level")
logger.debug("hello from 'debug' level")
logger.info("hello from 'info' level")
logger.warn("hello from 'warn' level")
logger.error("hello from 'error' level")2023-03-28T15:52:36.027Z - WARN - demo : hello from 'warn' level 2023-03-28T15:52:36.027Z - ERROR - demo : hello from 'error' level
As you can see you are able to change the log level.
LoggerLevel: "error" | "warn" | "info" | "debug" | "trace"
Contains the Valid Types of the Loger.
TCallback: (name: string, msg: string) => void
(name, msg): void
| Name | Type |
|---|---|
name |
string |
msg |
string |
void
TCallbackWithLevel: (level: LoggerLevel, name: string, msg: string) => void
(level, name, msg): void
| Name | Type |
|---|---|
level |
LoggerLevel |
name |
string |
msg |
string |
void
ValidLoggerDefinition: ILogger | LoggerLevel | false
The valid defintion types for the logger.
Const DEBUG: any
Debug Logger-Level
Const ERROR: any
Error Logger-Level
Const INFO: any
Info Logger-Level
Const LEVELS: Object
The valid log-levels
| Name | Type |
|---|---|
debug |
any |
error |
any |
info |
any |
trace |
any |
warn |
any |
Const LoggerLevels: string[]
Array containg the Valid Types of the Loger. see LoggerLevel
Const TRACE: any
Tracing Logger-Level
Const WARN: any
Warn Logger-Level
defineNopeLogger(param, defaultName): ILogger
Helper to define a Logger based on the given Logger-Definition. Based on the type, a new logger is created ("LoggerLevel"), the provided Logger is used or if "false" no logger is returned.
Author
M.Karkowski
Export
| Name | Type |
|---|---|
param |
ValidLoggerDefinition |
defaultName |
string |
enableFor(logger, lvl): void
Enables the Logger for the desired Level.
| Name | Type | Description |
|---|---|---|
logger |
ILogger |
The logger |
lvl |
LoggerLevel |
The level to use |
void
enabledFor(logger, lvl?): boolean | LoggerLevel
Tests if the Logger is enabled for the level, or extracts the level.
| Name | Type | Description |
|---|---|---|
logger |
ILogger |
The logger |
lvl? |
LoggerLevel |
if provided tests if the lvl matches the logger. otherwise returns the current level |
boolean | LoggerLevel
generateLogfilePath(name): string
Generates a Log-File Path based on the given name with the following format: /logs/{name}_{date}.log
Export
Backend
Only in Nodejs available
| Name | Type | Description |
|---|---|---|
name |
string |
Name of the File. |
string
getCentralNopeLogger(): NopeLogger
Return the central loger. This logger is a singleton (see getSingleton)
Author
M.Karkowski
Export
NopeLogger
A Returns the Logger NopeLogger
getLogerAsEventEmitter(): LoggerAsEventEmitter
getNopeLogger(name, level?): ILogger
Helper Function, to create a Logger. Therefore it uses a specific Level and a Lable of the Logger. The Logger-Level can be overwritten by the central-logger see getCentralNopeLogger
Export
| Name | Type | Description |
|---|---|---|
name |
string |
- |
level? |
LoggerLevel |
The Level, which should be rendered |
Returns a Logger.
setGlobalLoggerLevel(level): void
Helper Function to set the general Logger Level.
| Name | Type | Description |
|---|---|---|
level |
LoggerLevel |
The Level of the Nope. |
void
shouldLog(loggerLevel, messageLevel): boolean
Helper to test if the message would be logged.
| Name | Type | Description |
|---|---|---|
loggerLevel |
LoggerLevel |
The Level of the logger |
messageLevel |
LoggerLevel |
The Level of the Message |
boolean
useEventLogger(): LoggerAsEventEmitter
Function to use a log file instead of the console log.
Export
useLogFile(pathToFile?, bufferSize?): () => Promise<void>
Function to use a log file instead of the console log.
Author
M.Karkowski
Export
Backend
Only in Nodejs available
| Name | Type | Default value | Description |
|---|---|---|---|
pathToFile? |
string |
DEFAULT_FILE |
Path to the logfile |
bufferSize? |
number |
100 |
Default Buffer-Size. If > 0 we will write the log with buffering. |
fn
(): Promise<void>
Promise<void>