logxpert 0.3.2 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PATCHNOTE.fr.md +18 -14
- package/PATCHNOTE.md +17 -13
- package/README.fr.md +27 -12
- package/README.md +26 -12
- package/main.js +118 -20
- package/package.json +2 -1
package/PATCHNOTE.fr.md
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
# Notes de Version
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## v1.0.1
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
- Amélioration de la prise en charge des formats d'horodatage personnalisés en console via Moment.js. Les utilisateurs peuvent désormais fournir des formats entièrement personnalisés (ex. : "Voici la date et l'heure: [YYYY-MM-DD HH:mm:ss] - " ou "date: YYYY-MM-DD heure: HH:mm:ss - ") qui rendent correctement les dates dynamiques et le texte littéral.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## v1.0.0
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- **Stabilité & Support:** Cette version est désormais la version LTS, offrant une API stable pour une utilisation en production sur le long terme.
|
|
10
|
+
- **Configuration Améliorée:** Ajout d'options avancées pour personnaliser l'horodatage en console, incluant le format, le préfixe et le suffixe personnalisables.
|
|
11
|
+
- **Amélioration de la Journalisation dans les Fichiers:** Mise à jour des réglages pour l'enregistrement dans les fichiers et création automatique du dossier de logs s'il n'existe pas.
|
|
12
|
+
- **Documentation:** Mise à jour du README et de la référence API pour plus de clarté et de complétude.
|
|
13
|
+
- **Compatibilité Rétroactive:** Conservation de toutes les fonctionnalités des versions précédentes, incluant les méthodes pour la journalisation générale, d'erreur, d'avertissement, d'information et de débogage.
|
|
14
|
+
|
|
15
|
+
## Versions Précédentes
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
### v0.3.2
|
|
18
|
+
- Modification du motif par défaut de `filesName` passant de `'YYYY-MM-DD_HH:mm:ss'` à `'YYYY-MM-DD'`.
|
|
19
|
+
|
|
20
|
+
### v0.3.1
|
|
21
|
+
- Ajout de la création automatique du dossier de logs s'il n'existe pas afin d'éviter l'erreur `ENOENT`.
|
|
12
22
|
|
|
13
|
-
|
|
23
|
+
### v0.3.0
|
|
24
|
+
- Ajout du support de l'enregistrement dans des fichiers via winston et winston-daily-rotate-file.
|
|
14
25
|
- Introduction de la méthode `log.settings()` pour configurer l'enregistrement dans les fichiers.
|
|
15
|
-
- Mise à jour des options de configuration pour utiliser `filesName` à la place de l'ancienne propriété.
|
|
16
|
-
- Réglages par défaut :
|
|
17
|
-
- Dossier : `logs`
|
|
18
|
-
- Motif de date (`filesName`) : `YYYY-MM-DD_HH:mm:ss`
|
|
19
|
-
- Rétention maximale des fichiers : `14d`
|
|
20
|
-
- Taille maximale par fichier : `20m`
|
|
21
|
-
- `zippedArchive` : par défaut `false` à moins qu'une autre valeur soit fournie.
|
|
22
|
-
- La journalisation dans la console conserve une sortie colorée et formatée.
|
|
26
|
+
- Mise à jour des options de configuration pour utiliser `filesName` à la place de l'ancienne propriété.
|
package/PATCHNOTE.md
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
# Patch Notes
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## v1.0.1
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
- Improved support for fully custom console timestamp formats using Moment.js. Users can now supply completely custom formats (e.g., "This is the time: [YYYY-MM-DD HH:mm:ss] - " or "date: YYYY-MM-DD heure: HH:mm:ss - ") that correctly render dynamic dates and literal text.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## v1.0.0
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- **Stability & Support:** This release is now the LTS version, providing a stable API for long-term production use.
|
|
10
|
+
- **Enhanced Configuration:** Added advanced configuration for console timestamps, including customizable format, prefix, and suffix.
|
|
11
|
+
- **File Logging Improvements:** Updated file logging settings and ensured the log folder is automatically created if it doesn't exist.
|
|
12
|
+
- **Documentation:** Updated README and API references for clarity and completeness.
|
|
13
|
+
- **Backward Compatibility:** Retained all features from previous versions, including methods for general, error, warning, info, and debug logging.
|
|
10
14
|
|
|
11
|
-
##
|
|
15
|
+
## Previous Versions
|
|
12
16
|
|
|
17
|
+
### v0.3.2
|
|
18
|
+
- Changed the default `filesName` pattern from `'YYYY-MM-DD_HH:mm:ss'` to `'YYYY-MM-DD'`.
|
|
19
|
+
|
|
20
|
+
### v0.3.1
|
|
21
|
+
- Ensured the log folder is created if it does not exist to prevent `ENOENT` errors.
|
|
22
|
+
|
|
23
|
+
### v0.3.0
|
|
13
24
|
- Added file logging support using winston and winston-daily-rotate-file.
|
|
14
25
|
- Introduced `log.settings()` to configure file logging.
|
|
15
|
-
- Updated configuration options to use `filesName` instead of the previous property name.
|
|
16
|
-
- Default settings:
|
|
17
|
-
- Folder: `logs`
|
|
18
|
-
- Date pattern (`filesName`): `YYYY-MM-DD_HH:mm:ss`
|
|
19
|
-
- Maximum file retention: `14d`
|
|
20
|
-
- Maximum file size: `20m`
|
|
21
|
-
- `zippedArchive`: default is `false` unless provided.
|
|
22
|
-
- Console logging remains with colorful formatted output.
|
|
26
|
+
- Updated configuration options to use `filesName` instead of the previous property name.
|
package/README.fr.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# LogXpert
|
|
1
|
+
# LogXpert v1.0.1 LTS
|
|
2
2
|
|
|
3
|
-
LogXpert est une bibliothèque de logs puissante pour Node.js qui offre des méthodes de log simples à utiliser avec une sortie colorée et, en option, l'enregistrement dans un fichier.
|
|
3
|
+
LogXpert est une bibliothèque de logs puissante pour Node.js qui offre des méthodes de log simples à utiliser avec une sortie colorée et, en option, l'enregistrement dans un fichier. Dans cette version LTS v1.0.1, nous avons amélioré la personnalisation de l'horodatage en console et apporté plusieurs améliorations.
|
|
4
4
|
|
|
5
5
|
## Table des Matières
|
|
6
6
|
- [Installation](#installation)
|
|
7
7
|
- [Utilisation](#utilisation)
|
|
8
8
|
- [Journalisation de base](#journalisation-de-base)
|
|
9
|
-
- [Journalisation avancée : Fichiers de logs](#journalisation-avancee-fichiers-de-logs)
|
|
9
|
+
- [Journalisation avancée : Fichiers de logs & Personnalisation de l'horodatage en console](#journalisation-avancee-fichiers-de-logs--personnalisation-de-lhorodatage-en-console)
|
|
10
10
|
- [Référence API](#référence-api)
|
|
11
11
|
- [Informations Supplémentaires](#informations-supplémentaires)
|
|
12
12
|
- [Licence](#licence)
|
|
@@ -44,22 +44,31 @@ log.info("Ceci est un message d'information.");
|
|
|
44
44
|
log.debug("Ceci est un message de debug.");
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
### Journalisation avancée : Fichiers de logs
|
|
47
|
+
### Journalisation avancée : Fichiers de logs & Personnalisation de l'horodatage en console
|
|
48
48
|
|
|
49
|
-
LogXpert supporte
|
|
49
|
+
LogXpert supporte la journalisation dans des fichiers via [winston](https://github.com/winstonjs/winston) et [winston-daily-rotate-file](https://github.com/winstonjs/winston-daily-rotate-file). Vous pouvez configurer l'enregistrement dans un fichier ainsi que personnaliser pleinement l'horodatage en console grâce à `log.settings()`.
|
|
50
50
|
|
|
51
|
-
Exemple de configuration
|
|
51
|
+
Exemple de configuration :
|
|
52
52
|
|
|
53
53
|
```js
|
|
54
54
|
const log = require('logxpert');
|
|
55
55
|
|
|
56
56
|
log.settings({
|
|
57
|
+
console: {
|
|
58
|
+
enableTimestamp: true,
|
|
59
|
+
// Exemple 1 : Inclure du texte littéral avec des tokens
|
|
60
|
+
timestampFormat: "Voici la date et l'heure: [YYYY-MM-DD HH:mm:ss] - ",
|
|
61
|
+
// Exemple 2 : Séparer les tokens pour la date et l'heure
|
|
62
|
+
// timestampFormat: "date: YYYY-MM-DD heure: HH:mm:ss - "
|
|
63
|
+
timestampPrefix: '',
|
|
64
|
+
timestampSuffix: ''
|
|
65
|
+
},
|
|
57
66
|
files: {
|
|
58
67
|
folder: 'logs',
|
|
59
68
|
filesName: 'YYYY-MM-DD',
|
|
60
69
|
maxFile: '14d',
|
|
61
70
|
maxSize: '20m',
|
|
62
|
-
zippedArchive: false
|
|
71
|
+
zippedArchive: false
|
|
63
72
|
}
|
|
64
73
|
});
|
|
65
74
|
```
|
|
@@ -81,12 +90,18 @@ log.settings({
|
|
|
81
90
|
- **log.debug(message: string):**
|
|
82
91
|
Enregistre un message de debug.
|
|
83
92
|
|
|
84
|
-
- **log.settings(options:
|
|
85
|
-
Configure les options d'enregistrement
|
|
86
|
-
|
|
93
|
+
- **log.settings(options: object):**
|
|
94
|
+
Configure les options d'enregistrement dans un fichier et de personnalisation de la sortie console.
|
|
95
|
+
**Options Console :**
|
|
96
|
+
- `enableTimestamp` (boolean) : Active/désactive l'horodatage (par défaut : `true`).
|
|
97
|
+
- `timestampFormat` (string) : Format de l'horodatage (par défaut : `'YYYY-MM-DD HH:mm:ss'`). Vous pouvez inclure du texte littéral si nécessaire.
|
|
98
|
+
- `timestampPrefix` (string) : Préfixe de l'horodatage.
|
|
99
|
+
- `timestampSuffix` (string) : Suffixe de l'horodatage.
|
|
100
|
+
|
|
101
|
+
**Options Fichiers :**
|
|
87
102
|
- `folder` (string) : Répertoire où les fichiers de logs seront stockés (par défaut : `'logs'`).
|
|
88
|
-
- `filesName` (string) : Motif de date
|
|
89
|
-
- `maxFile` (string) : Durée de rétention
|
|
103
|
+
- `filesName` (string) : Motif de date pour le nom des fichiers de logs (par défaut : `'YYYY-MM-DD'`).
|
|
104
|
+
- `maxFile` (string) : Durée maximale de rétention des fichiers (par défaut : `'14d'`).
|
|
90
105
|
- `maxSize` (string) : Taille maximale par fichier de log (par défaut : `'20m'`).
|
|
91
106
|
- `zippedArchive` (boolean) : Archive les logs au format zip (par défaut : `false`).
|
|
92
107
|
|
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# LogXpert
|
|
1
|
+
# LogXpert v1.0.1 LTS
|
|
2
2
|
|
|
3
|
-
LogXpert is a powerful logging library for Node.js that provides easy-to-use logging methods with colorful formatted output and optional file logging support.
|
|
3
|
+
LogXpert is a powerful logging library for Node.js that provides easy-to-use logging methods with colorful formatted output and optional file logging support. In this LTS release, v1.0.1, we have enhanced custom console timestamp formatting and made several improvements.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
- [Installation](#installation)
|
|
7
7
|
- [Usage](#usage)
|
|
8
8
|
- [Basic Logging](#basic-logging)
|
|
9
|
-
- [Advanced Logging: File Output](#advanced-logging-file-output)
|
|
9
|
+
- [Advanced Logging: File Output & Custom Console Timestamp](#advanced-logging-file-output--custom-console-timestamp)
|
|
10
10
|
- [API Reference](#api-reference)
|
|
11
11
|
- [Additional Information](#additional-information)
|
|
12
12
|
- [License](#license)
|
|
@@ -44,16 +44,25 @@ log.info('This is an informational message.');
|
|
|
44
44
|
log.debug('This is a debug message.');
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
### Advanced Logging: File Output
|
|
47
|
+
### Advanced Logging: File Output & Custom Console Timestamp
|
|
48
48
|
|
|
49
|
-
LogXpert supports file logging using [winston](https://github.com/winstonjs/winston) and [winston-daily-rotate-file](https://github.com/winstonjs/winston-daily-rotate-file).
|
|
49
|
+
LogXpert supports file logging using [winston](https://github.com/winstonjs/winston) and [winston-daily-rotate-file](https://github.com/winstonjs/winston-daily-rotate-file). You can configure file logging and fully customize console timestamps via `log.settings()`.
|
|
50
50
|
|
|
51
|
-
Example configuration
|
|
51
|
+
Example configuration:
|
|
52
52
|
|
|
53
53
|
```js
|
|
54
54
|
const log = require('logxpert');
|
|
55
55
|
|
|
56
56
|
log.settings({
|
|
57
|
+
console: {
|
|
58
|
+
enableTimestamp: true,
|
|
59
|
+
// Example 1: Including literal text with tokens
|
|
60
|
+
timestampFormat: "Voici la date et l'heure: [YYYY-MM-DD HH:mm:ss] - ",
|
|
61
|
+
// Example 2: Separating date and time tokens:
|
|
62
|
+
// timestampFormat: "date: YYYY-MM-DD heure: HH:mm:ss - "
|
|
63
|
+
timestampPrefix: '',
|
|
64
|
+
timestampSuffix: ''
|
|
65
|
+
},
|
|
57
66
|
files: {
|
|
58
67
|
folder: 'logs',
|
|
59
68
|
filesName: 'YYYY-MM-DD',
|
|
@@ -64,7 +73,7 @@ log.settings({
|
|
|
64
73
|
});
|
|
65
74
|
```
|
|
66
75
|
|
|
67
|
-
|
|
76
|
+
## API Reference
|
|
68
77
|
|
|
69
78
|
- **log(message: string):**
|
|
70
79
|
Logs a general message using the `info` level.
|
|
@@ -81,15 +90,20 @@ log.settings({
|
|
|
81
90
|
- **log.debug(message: string):**
|
|
82
91
|
Logs a debug message.
|
|
83
92
|
|
|
84
|
-
- **log.settings(options:
|
|
85
|
-
Configures
|
|
86
|
-
**Options
|
|
93
|
+
- **log.settings(options: object):**
|
|
94
|
+
Configures file logging and console output options.
|
|
95
|
+
**Console Options:**
|
|
96
|
+
- `enableTimestamp` (boolean): Enable/disable timestamp (default: `true`).
|
|
97
|
+
- `timestampFormat` (string): Format for the timestamp including literal text if desired (default: `'YYYY-MM-DD HH:mm:ss'`).
|
|
98
|
+
- `timestampPrefix` (string): Prefix for the timestamp.
|
|
99
|
+
- `timestampSuffix` (string): Suffix for the timestamp.
|
|
87
100
|
|
|
101
|
+
**Files Options:**
|
|
88
102
|
- `folder` (string): Directory where log files will be stored (default: `'logs'`).
|
|
89
|
-
- `filesName` (string): Date pattern
|
|
103
|
+
- `filesName` (string): Date pattern for the log file name (default: `'YYYY-MM-DD'`).
|
|
90
104
|
- `maxFile` (string): Maximum file retention (default: `'14d'`).
|
|
91
105
|
- `maxSize` (string): Maximum size per log file (default: `'20m'`).
|
|
92
|
-
- `zippedArchive` (boolean):
|
|
106
|
+
- `zippedArchive` (boolean): Archive logs in zip format (default: `false`).
|
|
93
107
|
|
|
94
108
|
## Additional Information
|
|
95
109
|
|
package/main.js
CHANGED
|
@@ -1,39 +1,117 @@
|
|
|
1
1
|
const fs = require('fs');
|
|
2
|
+
const moment = require('moment'); // Add moment as a dependency: npm install moment
|
|
2
3
|
const { createLogger, format, transports } = require('winston');
|
|
3
4
|
require('winston-daily-rotate-file');
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {Object} ConsoleOptions
|
|
8
|
+
* @property {boolean} [enableTimestamp=true] - Enable or disable timestamp in console logs.
|
|
9
|
+
* @property {string} [timestampFormat='YYYY-MM-DD HH:mm:ss'] - Moment.js format for the timestamp.
|
|
10
|
+
* You can include literal text as needed. For example:
|
|
11
|
+
* - "Voici la date et l'heure: [YYYY-MM-DD HH:mm:ss] - "
|
|
12
|
+
* - "date: YYYY-MM-DD heure: HH:mm:ss - "
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @typedef {Object} FilesOptions
|
|
17
|
+
* @property {string} [folder='logs'] - Directory where log files will be stored.
|
|
18
|
+
* @property {string} [filesName='YYYY-MM-DD'] - Date pattern used in the log file name.
|
|
19
|
+
* @property {string} [maxFile='14d'] - Maximum file retention time.
|
|
20
|
+
* @property {string} [maxSize='20m'] - Maximum file size per log file.
|
|
21
|
+
* @property {boolean} [zippedArchive=false] - Whether to archive logs as zip.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @typedef {Object} LogSettingsOptions
|
|
26
|
+
* @property {ConsoleOptions} [console] - Options for customizing console output.
|
|
27
|
+
* @property {FilesOptions} [files] - Options for configuring file logging.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
// Custom format for logger output
|
|
6
31
|
const customFormat = format.printf(({ timestamp, level, message }) => {
|
|
7
|
-
return `${timestamp} [${level}]: ${message}`;
|
|
32
|
+
return timestamp ? `${timestamp} [${level}]: ${message}` : `[${level}]: ${message}`;
|
|
8
33
|
});
|
|
9
34
|
|
|
10
|
-
//
|
|
35
|
+
// Default console timestamp format
|
|
36
|
+
const defaultConsoleFormat = 'YYYY-MM-DD HH:mm:ss';
|
|
37
|
+
|
|
38
|
+
// Create a default console transport with timestamp enabled using Moment.js
|
|
39
|
+
let consoleTransport = new transports.Console({
|
|
40
|
+
format: format.combine(
|
|
41
|
+
format.colorize(),
|
|
42
|
+
format.timestamp({
|
|
43
|
+
format: () => moment().format(defaultConsoleFormat)
|
|
44
|
+
}),
|
|
45
|
+
customFormat
|
|
46
|
+
)
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Create a logger with the default console transport
|
|
11
50
|
const logger = createLogger({
|
|
12
51
|
level: 'debug',
|
|
13
52
|
format: format.combine(
|
|
14
|
-
format.timestamp({
|
|
53
|
+
format.timestamp({
|
|
54
|
+
format: () => moment().format(defaultConsoleFormat)
|
|
55
|
+
}),
|
|
15
56
|
customFormat
|
|
16
57
|
),
|
|
17
|
-
transports: [
|
|
18
|
-
new transports.Console({
|
|
19
|
-
format: format.combine(
|
|
20
|
-
format.colorize(),
|
|
21
|
-
format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
|
|
22
|
-
customFormat
|
|
23
|
-
)
|
|
24
|
-
})
|
|
25
|
-
]
|
|
58
|
+
transports: [consoleTransport]
|
|
26
59
|
});
|
|
27
60
|
|
|
28
61
|
// Reference to file transport (added via settings)
|
|
29
62
|
let fileTransport;
|
|
30
63
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Configures logging settings for both console and file transports.
|
|
66
|
+
*
|
|
67
|
+
* @param {LogSettingsOptions} options - The settings for both console and file logging.
|
|
68
|
+
* @example
|
|
69
|
+
* // Example: Fully custom console timestamp using a custom format string,
|
|
70
|
+
* // and enabling file logging.
|
|
71
|
+
* log.settings({
|
|
72
|
+
* console: {
|
|
73
|
+
* enableTimestamp: true,
|
|
74
|
+
* timestampFormat: "Voici la date et l'heure: [YYYY-MM-DD HH:mm:ss] - "
|
|
75
|
+
* },
|
|
76
|
+
* files: {
|
|
77
|
+
* folder: 'logs',
|
|
78
|
+
* filesName: 'YYYY-MM-DD',
|
|
79
|
+
* maxFile: '14d',
|
|
80
|
+
* maxSize: '20m',
|
|
81
|
+
* zippedArchive: false
|
|
82
|
+
* }
|
|
83
|
+
* });
|
|
84
|
+
*/
|
|
34
85
|
function applySettings(options = {}) {
|
|
86
|
+
// Update console transport if configuration is provided
|
|
87
|
+
if (options.console) {
|
|
88
|
+
const enableTimestamp = options.console.enableTimestamp !== undefined ? options.console.enableTimestamp : true;
|
|
89
|
+
const timestampFormat = options.console.timestampFormat || defaultConsoleFormat;
|
|
90
|
+
|
|
91
|
+
// Remove the current console transport
|
|
92
|
+
logger.remove(consoleTransport);
|
|
93
|
+
|
|
94
|
+
// Create new console transport based on the provided options.
|
|
95
|
+
// The provided timestampFormat is passed directly to moment().
|
|
96
|
+
consoleTransport = new transports.Console({
|
|
97
|
+
format: enableTimestamp
|
|
98
|
+
? format.combine(
|
|
99
|
+
format.colorize(),
|
|
100
|
+
format.timestamp({
|
|
101
|
+
format: () => moment().format(timestampFormat)
|
|
102
|
+
}),
|
|
103
|
+
customFormat
|
|
104
|
+
)
|
|
105
|
+
: format.combine(
|
|
106
|
+
format.colorize(),
|
|
107
|
+
customFormat
|
|
108
|
+
)
|
|
109
|
+
});
|
|
110
|
+
logger.add(consoleTransport);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Enable file logging if options.files is provided
|
|
35
114
|
if (options.files) {
|
|
36
|
-
// Set defaults if not provided
|
|
37
115
|
const folder = options.files.folder || 'logs';
|
|
38
116
|
const datePattern = options.files.filesName || 'YYYY-MM-DD';
|
|
39
117
|
const maxFiles = options.files.maxFile || '14d';
|
|
@@ -50,7 +128,7 @@ function applySettings(options = {}) {
|
|
|
50
128
|
logger.remove(fileTransport);
|
|
51
129
|
}
|
|
52
130
|
|
|
53
|
-
// Create a new daily
|
|
131
|
+
// Create a new daily-rotate file transport with provided/default settings
|
|
54
132
|
fileTransport = new transports.DailyRotateFile({
|
|
55
133
|
filename: `${folder}/application-%DATE%.log`,
|
|
56
134
|
datePattern,
|
|
@@ -63,28 +141,48 @@ function applySettings(options = {}) {
|
|
|
63
141
|
}
|
|
64
142
|
}
|
|
65
143
|
|
|
66
|
-
|
|
144
|
+
/**
|
|
145
|
+
* Logs a general message using the info level.
|
|
146
|
+
*
|
|
147
|
+
* @param {string} message - The message to be logged.
|
|
148
|
+
*/
|
|
67
149
|
function log(message) {
|
|
68
150
|
logger.info(message);
|
|
69
151
|
}
|
|
70
152
|
|
|
153
|
+
/**
|
|
154
|
+
* Logs an error message.
|
|
155
|
+
* @param {string} message - The error message.
|
|
156
|
+
*/
|
|
71
157
|
log.error = function (message) {
|
|
72
158
|
logger.error(message);
|
|
73
159
|
};
|
|
74
160
|
|
|
161
|
+
/**
|
|
162
|
+
* Logs a warning message.
|
|
163
|
+
* @param {string} message - The warning message.
|
|
164
|
+
*/
|
|
75
165
|
log.warn = function (message) {
|
|
76
166
|
logger.warn(message);
|
|
77
167
|
};
|
|
78
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Logs an informational message.
|
|
171
|
+
* @param {string} message - The informational message.
|
|
172
|
+
*/
|
|
79
173
|
log.info = function (message) {
|
|
80
174
|
logger.info(message);
|
|
81
175
|
};
|
|
82
176
|
|
|
177
|
+
/**
|
|
178
|
+
* Logs a debug message.
|
|
179
|
+
* @param {string} message - The debug message.
|
|
180
|
+
*/
|
|
83
181
|
log.debug = function (message) {
|
|
84
182
|
logger.debug(message);
|
|
85
183
|
};
|
|
86
184
|
|
|
87
|
-
// Expose the settings function for configuring file logging
|
|
185
|
+
// Expose the settings function for configuring both file logging and console output
|
|
88
186
|
log.settings = applySettings;
|
|
89
187
|
|
|
90
188
|
module.exports = log;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "logxpert",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "A powerful logging library for Node.js",
|
|
5
5
|
"main": "main.js",
|
|
6
6
|
"repository": {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"author": "https://github.com/lighscent",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
|
+
"moment": "^2.30.1",
|
|
13
14
|
"winston": "^3.17.0",
|
|
14
15
|
"winston-daily-rotate-file": "^5.0.0"
|
|
15
16
|
}
|