@quatrain/log 1.0.2 → 1.0.3

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/README.md ADDED
@@ -0,0 +1,26 @@
1
+ # @quatrain/log
2
+
3
+ A structured logging package for Quatrain applications. It uses an adapter pattern to allow for different logging backends, such as the console, file, or a cloud logging service.
4
+
5
+ ## Features
6
+
7
+ - **Multiple Log Levels**: Supports `DEBUG`, `INFO`, `WARN`, `ERROR`, and `CRITICAL`.
8
+ - **Adapter Pattern**: Pluggable adapters for various logging outputs.
9
+ - **Domain-specific Loggers**: Create separate logger instances for different parts of your application.
10
+ - **Structured JSON Output**: Logs can be formatted as JSON for easy parsing by log management systems.
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install @quatrain/log
16
+ ```
17
+
18
+ ## Usage
19
+
20
+ ```typescript
21
+ import { Log, LogLevel } from '@quatrain/log'
22
+ import { ConsoleLoggerAdapter } from '@quatrain/log' // Example adapter
23
+
24
+ const logger = Log.addLogger('api', new ConsoleLoggerAdapter(), true)
25
+ logger.info('Server has started.', { port: 3000 })
26
+ ```
@@ -7,6 +7,7 @@ exports.DefaultLoggerAdapter = void 0;
7
7
  const AbstractLoggerAdapter_1 = require("./AbstractLoggerAdapter");
8
8
  const loglevel_1 = __importDefault(require("loglevel"));
9
9
  const Log_1 = require("./Log");
10
+ const chalk_1 = __importDefault(require("chalk"));
10
11
  class DefaultLoggerAdapter extends AbstractLoggerAdapter_1.AbstractLoggerAdapter {
11
12
  constructor(prefix = '', level = Log_1.LogLevel.DEBUG) {
12
13
  super(prefix, level);
@@ -22,19 +23,19 @@ class DefaultLoggerAdapter extends AbstractLoggerAdapter_1.AbstractLoggerAdapter
22
23
  const message = this.formatLogMessage(messages);
23
24
  switch (level) {
24
25
  case Log_1.LogLevel.TRACE:
25
- this._logger.trace(message);
26
+ this._logger.trace(chalk_1.default.grey(message));
26
27
  break;
27
28
  case Log_1.LogLevel.DEBUG:
28
- this._logger.debug(message);
29
+ this._logger.debug(chalk_1.default.yellow(message));
29
30
  break;
30
31
  case Log_1.LogLevel.INFO:
31
- this._logger.info(message);
32
+ this._logger.info(chalk_1.default.green(message));
32
33
  break;
33
34
  case Log_1.LogLevel.WARN:
34
- this._logger.warn(message);
35
+ this._logger.warn(chalk_1.default.red(message));
35
36
  break;
36
37
  case Log_1.LogLevel.ERROR:
37
- this._logger.error(message);
38
+ this._logger.error(chalk_1.default.bgRedBright(message));
38
39
  break;
39
40
  default:
40
41
  this._logger.log(message);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quatrain/log",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Logger for business apps",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "@tsconfig/recommended": "^1.0.1",
15
15
  "@types/jest": "^27.0.3",
16
16
  "@types/node": "^22.10.1",
17
- "jest": "^27.4.7",
17
+ "jest": "^30.2.0",
18
18
  "jest-node-exports-resolver": "^1.1.6",
19
19
  "trace-unhandled": "^2.0.1",
20
20
  "ts-jest": "^27.1.2",
@@ -22,6 +22,7 @@
22
22
  "typescript": "^5.1.5"
23
23
  },
24
24
  "dependencies": {
25
+ "chalk": "^5.6.2",
25
26
  "loglevel": "^1.9.2"
26
27
  },
27
28
  "scripts": {