logler
Version:
Most flexible nodejs logging library
390 lines (247 loc) • 7.4 kB
Markdown
[Logler](README.md)
# Logler
## Index
### Classes
* [Logler](classes/logler.md)
### Interfaces
* [IMandatoryTokens](interfaces/imandatorytokens.md)
* [IOnLogInfo](interfaces/ionloginfo.md)
* [IOptions](interfaces/ioptions.md)
* [IResolvedTokens](interfaces/iresolvedtokens.md)
* [ITokens](interfaces/itokens.md)
### Type aliases
* [IFormatter](README.md#iformatter)
* [IGetColor](README.md#igetcolor)
* [IGetLogLevelValue](README.md#igetloglevelvalue)
* [IGetMandatoryTokens](README.md#igetmandatorytokens)
* [IGetResolvedTokens](README.md#igetresolvedtokens)
* [ILevel](README.md#ilevel)
* [ILogger](README.md#ilogger)
* [ILogler](README.md#ilogler)
* [ISerializer](README.md#iserializer)
* [IWriter](README.md#iwriter)
### Variables
* [colorLogs](README.md#const-colorlogs)
* [getColor](README.md#const-getcolor)
* [getLogLevelValue](README.md#const-getloglevelvalue)
* [getMandatoryTokens](README.md#const-getmandatorytokens)
### Functions
* [formatter](README.md#const-formatter)
* [getResolvedTokens](README.md#const-getresolvedtokens)
* [serializer](README.md#const-serializer)
* [writer](README.md#const-writer)
## Type aliases
### IFormatter
Ƭ **IFormatter**: *function*
Defined in interface.ts:36
#### Type declaration:
▸ (`mandatoryTokens`: [IMandatoryTokens](interfaces/imandatorytokens.md) & [IResolvedTokens](interfaces/iresolvedtokens.md), `level`: [ILevel](README.md#ilevel), `msg`: string): *string*
**Parameters:**
Name | Type |
------ | ------ |
`mandatoryTokens` | [IMandatoryTokens](interfaces/imandatorytokens.md) & [IResolvedTokens](interfaces/iresolvedtokens.md) |
`level` | [ILevel](README.md#ilevel) |
`msg` | string |
___
### IGetColor
Ƭ **IGetColor**: *function*
Defined in interface.ts:13
#### Type declaration:
▸ (`level`: [ILevel](README.md#ilevel)): *string*
**Parameters:**
Name | Type |
------ | ------ |
`level` | [ILevel](README.md#ilevel) |
___
### IGetLogLevelValue
Ƭ **IGetLogLevelValue**: *function*
Defined in interface.ts:34
#### Type declaration:
▸ (`level`: [ILevel](README.md#ilevel)): *number*
**Parameters:**
Name | Type |
------ | ------ |
`level` | [ILevel](README.md#ilevel) |
___
### IGetMandatoryTokens
Ƭ **IGetMandatoryTokens**: *function*
Defined in interface.ts:32
#### Type declaration:
▸ (): *[IMandatoryTokens](interfaces/imandatorytokens.md)*
___
### IGetResolvedTokens
Ƭ **IGetResolvedTokens**: *function*
Defined in interface.ts:11
#### Type declaration:
▸ (`tokens`: [ITokens](interfaces/itokens.md), `level`: [ILevel](README.md#ilevel), ...`args`: any[]): *[IResolvedTokens](interfaces/iresolvedtokens.md)*
**Parameters:**
Name | Type |
------ | ------ |
`tokens` | [ITokens](interfaces/itokens.md) |
`level` | [ILevel](README.md#ilevel) |
`...args` | any[] |
___
### ILevel
Ƭ **ILevel**: *"trace" | "debug" | "info" | "log" | "warn" | "error" | "fatal"*
Defined in interface.ts:1
___
### ILogger
Ƭ **ILogger**: *function*
Defined in interface.ts:42
#### Type declaration:
▸ (...`args`: any[]): *void*
**Parameters:**
Name | Type |
------ | ------ |
`...args` | any[] |
___
### ILogler
Ƭ **ILogler**: *object*
Defined in interface.ts:44
#### Type declaration:
___
### ISerializer
Ƭ **ISerializer**: *function*
Defined in interface.ts:38
#### Type declaration:
▸ (...`args`: any[]): *string*
**Parameters:**
Name | Type |
------ | ------ |
`...args` | any[] |
___
### IWriter
Ƭ **IWriter**: *function*
Defined in interface.ts:40
#### Type declaration:
▸ (`level`: [ILevel](README.md#ilevel), `msg`: string): *void*
**Parameters:**
Name | Type |
------ | ------ |
`level` | [ILevel](README.md#ilevel) |
`msg` | string |
## Variables
### `Const` colorLogs
• **colorLogs**: *boolean* = process.env.NODE_ENV === "production" ? false : true
Defined in defaults.ts:20
___
### `Const` getColor
• **getColor**: *[IGetColor](README.md#igetcolor)* = (() => {
const colors: {
[level in ILevel]: string;
} = {
trace: "cyan",
debug: "cyan",
info: "green",
log: "green",
warn: "yellow",
error: "red",
fatal: "red",
};
return (level: ILevel) => colors[level];
})()
Defined in utils.ts:4
___
### `Const` getLogLevelValue
• **getLogLevelValue**: *[IGetLogLevelValue](README.md#igetloglevelvalue)* = (() => {
const levelValues: {
[level in ILevel]: number
} = {
trace: 0,
debug: 1,
info: 2,
log: 3,
warn: 4,
error: 5,
fatal: 6,
};
return (level: ILevel) => levelValues[level];
})()
Defined in utils.ts:74
Returns the priority for each log level.
This is especially useful when deciding to print the logs
based on the levels.
This can also be used to Print only critical logs in production
___
### `Const` getMandatoryTokens
• **getMandatoryTokens**: *[IGetMandatoryTokens](README.md#igetmandatorytokens)* = (() => {
// Stack trace format :
// https://v8.dev/docs/stack-trace-api
const regex1 = /\((.*):(\d+):(\d+)\)$/;
const regex2 = /(.*):(\d+):(\d+)$/;
return () => {
const errorOrigin = (new Error() as any).stack.split("\n")[4];
// Capture file & line_no
let match = regex1.exec(errorOrigin);
if (!match) {
match = regex2.exec(errorOrigin);
}
return match ? {
filePath: match[1],
fileName: path.parse(match[1]).base,
lineNum: +match[2],
colNum: +match[3],
timestamp: new Date().toISOString(),
} : {
filePath: "unknown",
fileName: "unknown",
lineNum: 0,
colNum: 0,
timestamp: new Date().toISOString(),
};
};
})()
Defined in utils.ts:37
Returns the mandatory tokens
Returns the tokens that has to be
present in the `tokens` object passed
to `format` option
## Functions
### `Const` formatter
▸ **formatter**(`__namedParameters`: object, `level`: "trace" | "debug" | "info" | "log" | "warn" | "error" | "fatal", `msg`: string): *string*
Defined in defaults.ts:7
Default log format
**Parameters:**
▪ **__namedParameters**: *object*
Name | Type |
------ | ------ |
`colNum` | number |
`fileName` | string |
`lineNum` | number |
`timestamp` | string |
▪ **level**: *"trace" | "debug" | "info" | "log" | "warn" | "error" | "fatal"*
▪ **msg**: *string*
**Returns:** *string*
___
### `Const` getResolvedTokens
▸ **getResolvedTokens**(`tokens`: [ITokens](interfaces/itokens.md), `level`: "trace" | "debug" | "info" | "log" | "warn" | "error" | "fatal", ...`args`: any[]): *object*
Defined in utils.ts:23
Get tokens from getters
**Parameters:**
Name | Type |
------ | ------ |
`tokens` | [ITokens](interfaces/itokens.md) |
`level` | "trace" | "debug" | "info" | "log" | "warn" | "error" | "fatal" |
`...args` | any[] |
**Returns:** *object*
* \[ **K**: *string*\]: string
___
### `Const` serializer
▸ **serializer**(...`args`: any[]): *string*
Defined in defaults.ts:12
Serializes the given inputs arguments
**Parameters:**
Name | Type |
------ | ------ |
`...args` | any[] |
**Returns:** *string*
___
### `Const` writer
▸ **writer**(`level`: "trace" | "debug" | "info" | "log" | "warn" | "error" | "fatal", `msg`: string): *void*
Defined in defaults.ts:14
**Parameters:**
Name | Type |
------ | ------ |
`level` | "trace" | "debug" | "info" | "log" | "warn" | "error" | "fatal" |
`msg` | string |
**Returns:** *void*