@proteinjs/logger 1.0.2 → 1.0.4

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/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.4](https://github.com/proteinjs/util/compare/@proteinjs/logger@1.0.3...@proteinjs/logger@1.0.4) (2024-08-13)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * `DevLogWriter` now colors the timestamp gray ([4178f39](https://github.com/proteinjs/util/commit/4178f39207964a39a8e81b252a2e57fe7458a366))
12
+
13
+
14
+
15
+
16
+
17
+ ## [1.0.3](https://github.com/proteinjs/util/compare/@proteinjs/logger@1.0.2...@proteinjs/logger@1.0.3) (2024-08-13)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * `Logger` now queries the `SourceRepository` for a `DefaultLogWriter` lazily. This way, if a `Logger` happens to be instantiated outside of a function or class, it will still be able to get the `DefaultLogWriter` if logging is done within a function or class. ([f9e0e90](https://github.com/proteinjs/util/commit/f9e0e9008e8f13543adef27500142b91bc959c5f))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [1.0.2](https://github.com/proteinjs/util/compare/@proteinjs/logger@1.0.1...@proteinjs/logger@1.0.2) (2024-08-13)
7
29
 
8
30
 
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  require("@proteinjs/reflection");
19
19
  /** Generate Source Graph */
20
- const sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"/'debug' | 'info' | 'warn' | 'error'\"},{\"v\":\"@proteinjs/logger/LogWriter\",\"value\":{\"packageName\":\"@proteinjs/logger\",\"name\":\"LogWriter\",\"filePath\":\"/home/runner/work/util/util/packages/logger/src/LogWriter.ts\",\"qualifiedName\":\"@proteinjs/logger/LogWriter\",\"properties\":[],\"methods\":[{\"name\":\"write\",\"returnType\":{\"packageName\":\"\",\"name\":\"void\",\"filePath\":null,\"qualifiedName\":\"/void\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"log\",\"type\":{\"packageName\":\"@proteinjs/logger\",\"name\":\"Log\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/logger/Log\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection/Loadable\"}],\"edges\":[{\"v\":\"@proteinjs/logger/LogWriter\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"}]}";
20
+ const sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/logger/DefaultLogWriter\",\"value\":{\"packageName\":\"@proteinjs/logger\",\"name\":\"DefaultLogWriter\",\"filePath\":\"/home/runner/work/util/util/packages/logger/src/DefaultLogWriter.ts\",\"qualifiedName\":\"@proteinjs/logger/DefaultLogWriter\",\"properties\":[],\"methods\":[{\"name\":\"write\",\"returnType\":{\"packageName\":\"\",\"name\":\"void\",\"filePath\":null,\"qualifiedName\":\"/void\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"log\",\"type\":{\"packageName\":\"@proteinjs/logger\",\"name\":\"Log\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/logger/Log\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"/'debug' | 'info' | 'warn' | 'error'\"}],\"edges\":[{\"v\":\"@proteinjs/logger/DefaultLogWriter\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"}]}";
21
21
  /** Generate Source Links */
22
22
  const sourceLinks = {};
23
23
  /** Load Source Graph and Links */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,iCAA+B;AAG/B,4BAA4B;AAE5B,MAAM,WAAW,GAAG,szCAAszC,CAAC;AAG30C,4BAA4B;AAG5B,MAAM,WAAW,GAAG,EACnB,CAAC;AAGF,kCAAkC;AAElC,sDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,iCAA+B;AAG/B,4BAA4B;AAE5B,MAAM,WAAW,GAAG,y1CAAy1C,CAAC;AAG92C,4BAA4B;AAG5B,MAAM,WAAW,GAAG,EACnB,CAAC;AAGF,kCAAkC;AAElC,sDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './src/Logger';
2
2
  export * from './src/LogLevel';
3
- export * from './src/LogWriter';
3
+ export * from './src/DefaultLogWriter';
4
4
  export * from './src/DevLogWriter';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./src/Logger"), exports);
18
18
  __exportStar(require("./src/LogLevel"), exports);
19
- __exportStar(require("./src/LogWriter"), exports);
19
+ __exportStar(require("./src/DefaultLogWriter"), exports);
20
20
  __exportStar(require("./src/DevLogWriter"), exports);
21
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,yDAAuC;AACvC,qDAAmC"}
@@ -2,7 +2,7 @@
2
2
  import { Loadable } from '@proteinjs/reflection';
3
3
  import { LogLevel } from './LogLevel';
4
4
  import { InspectOptions } from 'util';
5
- export declare const getLogWriter: () => LogWriter;
5
+ export declare const getDefaultLogWriter: () => DefaultLogWriter;
6
6
  export type Log = {
7
7
  /** The name of the logger creating this log */
8
8
  loggerName?: string;
@@ -19,7 +19,17 @@ export type Log = {
19
19
  /** Object formatting options */
20
20
  inspectOptions?: InspectOptions;
21
21
  };
22
- export interface LogWriter extends Loadable {
22
+ /**
23
+ * Every `Logger` instance will use the implementation of `DefaultLogWriter` unless
24
+ * a log writer is explicitly passed in when instantiating `Logger`.
25
+ *
26
+ * If this is not implemented, and no `LogWriter` is passed into `Logger`, `Logger`
27
+ * will default to using `DevLogWriter`.
28
+ *
29
+ * Note: this should only be implemented once. If there are multiple implementations,
30
+ * `Logger` will choose the first one that shows up in the package dependency tree.
31
+ * */
32
+ export interface DefaultLogWriter extends Loadable {
23
33
  write(log: Log): void;
24
34
  }
25
- //# sourceMappingURL=LogWriter.d.ts.map
35
+ //# sourceMappingURL=DefaultLogWriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultLogWriter.d.ts","sourceRoot":"","sources":["../../src/DefaultLogWriter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEtC,eAAO,MAAM,mBAAmB,wBACuD,CAAC;AAExF,MAAM,MAAM,GAAG,GAAG;IAChB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,6BAA6B;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gCAAgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;;;;;;;;KASK;AACL,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CACvB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultLogWriter = void 0;
4
+ const reflection_1 = require("@proteinjs/reflection");
5
+ const getDefaultLogWriter = () => reflection_1.SourceRepository.get().object('@proteinjs/logger/DefaultLogWriter');
6
+ exports.getDefaultLogWriter = getDefaultLogWriter;
7
+ //# sourceMappingURL=DefaultLogWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultLogWriter.js","sourceRoot":"","sources":["../../src/DefaultLogWriter.ts"],"names":[],"mappings":";;;AAAA,sDAAmE;AAI5D,MAAM,mBAAmB,GAAG,GAAG,EAAE,CACtC,6BAAgB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAmB,oCAAoC,CAAC,CAAC;AAD3E,QAAA,mBAAmB,uBACwD"}
@@ -1,4 +1,4 @@
1
- import { Log } from './LogWriter';
1
+ import { Log } from './DefaultLogWriter';
2
2
  export declare class DevLogWriter {
3
3
  private static COLORS;
4
4
  write({ loggerName, logLevel, timestamp, message, obj, inspectOptions, error }: Log): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DevLogWriter.d.ts","sourceRoot":"","sources":["../../src/DevLogWriter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,MAAM,CAMnB;IAEF,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI;IAkC1F,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"DevLogWriter.d.ts","sourceRoot":"","sources":["../../src/DevLogWriter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,MAAM,CAOnB;IAEF,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI;IAkC1F,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;CAQrB"}
@@ -33,7 +33,7 @@ class DevLogWriter {
33
33
  }
34
34
  }
35
35
  prefix(timestamp, loggerName) {
36
- const formattedTimestamp = this.formatDate(timestamp);
36
+ const formattedTimestamp = `${DevLogWriter.COLORS.gray}${this.formatDate(timestamp)}${DevLogWriter.COLORS.reset}`;
37
37
  const namePrefix = loggerName ? ` [${loggerName}]` : '';
38
38
  return `${formattedTimestamp}${namePrefix}`;
39
39
  }
@@ -59,6 +59,7 @@ class DevLogWriter {
59
59
  exports.DevLogWriter = DevLogWriter;
60
60
  DevLogWriter.COLORS = {
61
61
  reset: '\x1b[0m',
62
+ gray: '\x1b[90m',
62
63
  green: '\x1b[32m',
63
64
  cyan: '\x1b[36m',
64
65
  yellow: '\x1b[33m',
@@ -1 +1 @@
1
- {"version":3,"file":"DevLogWriter.js","sourceRoot":"","sources":["../../src/DevLogWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevLogWriter.js","sourceRoot":"","sources":["../../src/DevLogWriter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  import { InspectOptions } from 'util';
3
3
  import { LogLevel } from './LogLevel';
4
- import { LogWriter } from './LogWriter';
4
+ import { DefaultLogWriter } from './DefaultLogWriter';
5
5
  type LoggerParams = {
6
6
  name?: string;
7
7
  logLevel?: LogLevel;
8
- logWriter?: LogWriter;
8
+ logWriter?: DefaultLogWriter;
9
9
  };
10
10
  type Log = {
11
11
  message?: string;
@@ -18,8 +18,9 @@ type ErrorLog = Log & {
18
18
  export declare class Logger {
19
19
  private name?;
20
20
  private logLevel;
21
- private logWriter;
21
+ private logWriter?;
22
22
  constructor({ name, logLevel, logWriter }?: LoggerParams);
23
+ private getLogWriter;
23
24
  log({ message, obj, inspectOptions }: Log): void;
24
25
  debug({ message, obj, inspectOptions }: Log): void;
25
26
  info({ message, obj, inspectOptions }: Log): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,KAAK,YAAY,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAClF,KAAK,GAAG,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,cAAc,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAC5E,KAAK,QAAQ,GAAG,GAAG,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAExC,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAY;gBAEjB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAE,YAAiB;IAQ5D,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAWzC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAe3C,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAe1C,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAe1C,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,QAAQ;CAWxD"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAuB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,KAAK,YAAY,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC;AACzF,KAAK,GAAG,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,cAAc,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAC5E,KAAK,QAAQ,GAAG,GAAG,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAExC,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAmB;gBAEzB,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAE,YAAiB;IAQ5D,OAAO,CAAC,YAAY;IAQpB,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAWzC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAe3C,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAe1C,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,GAAG;IAe1C,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,QAAQ;CAWxD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Logger = void 0;
4
+ const DefaultLogWriter_1 = require("./DefaultLogWriter");
4
5
  const DevLogWriter_1 = require("./DevLogWriter");
5
6
  class Logger {
6
7
  constructor({ name, logLevel, logWriter } = {}) {
@@ -8,10 +9,17 @@ class Logger {
8
9
  this.name = name;
9
10
  }
10
11
  this.logLevel = logLevel !== null && logLevel !== void 0 ? logLevel : 'info';
11
- this.logWriter = logWriter !== null && logWriter !== void 0 ? logWriter : new DevLogWriter_1.DevLogWriter();
12
+ this.logWriter = logWriter;
13
+ }
14
+ getLogWriter() {
15
+ var _a;
16
+ if (!this.logWriter) {
17
+ this.logWriter = (_a = (0, DefaultLogWriter_1.getDefaultLogWriter)()) !== null && _a !== void 0 ? _a : new DevLogWriter_1.DevLogWriter();
18
+ }
19
+ return this.logWriter;
12
20
  }
13
21
  log({ message, obj, inspectOptions }) {
14
- this.logWriter.write({
22
+ this.getLogWriter().write({
15
23
  loggerName: this.name,
16
24
  logLevel: 'info',
17
25
  timestamp: new Date(),
@@ -24,7 +32,7 @@ class Logger {
24
32
  if (this.logLevel == 'info' || this.logLevel == 'warn' || this.logLevel == 'error') {
25
33
  return;
26
34
  }
27
- this.logWriter.write({
35
+ this.getLogWriter().write({
28
36
  loggerName: this.name,
29
37
  logLevel: 'debug',
30
38
  timestamp: new Date(),
@@ -37,7 +45,7 @@ class Logger {
37
45
  if (this.logLevel == 'warn' || this.logLevel == 'error') {
38
46
  return;
39
47
  }
40
- this.logWriter.write({
48
+ this.getLogWriter().write({
41
49
  loggerName: this.name,
42
50
  logLevel: 'info',
43
51
  timestamp: new Date(),
@@ -50,7 +58,7 @@ class Logger {
50
58
  if (this.logLevel == 'error') {
51
59
  return;
52
60
  }
53
- this.logWriter.write({
61
+ this.getLogWriter().write({
54
62
  loggerName: this.name,
55
63
  logLevel: 'warn',
56
64
  timestamp: new Date(),
@@ -60,7 +68,7 @@ class Logger {
60
68
  });
61
69
  }
62
70
  error({ message, obj, inspectOptions, error }) {
63
- this.logWriter.write({
71
+ this.getLogWriter().write({
64
72
  loggerName: this.name,
65
73
  logLevel: 'error',
66
74
  timestamp: new Date(),
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":";;;AAGA,iDAA8C;AAM9C,MAAa,MAAM;IAKjB,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,KAAmB,EAAE;QAC1D,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,2BAAY,EAAE,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACzC,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAClF,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACxC,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YACvD,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACxC,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAC5B,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAY;QACrD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;YACd,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF;AAhFD,wBAgFC"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":";;;AAEA,yDAA2E;AAC3E,iDAA8C;AAM9C,MAAa,MAAM;IAKjB,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,KAAmB,EAAE;QAC1D,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEO,YAAY;;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,MAAA,IAAA,sCAAmB,GAAE,mCAAI,IAAI,2BAAY,EAAE,CAAC;SAC9D;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACzC,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAClF,OAAO;SACR;QAED,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACxC,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YACvD,OAAO;SACR;QAED,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAO;QACxC,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAC5B,OAAO;SACR;QAED,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAY;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,GAAG;YACH,cAAc;YACd,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF;AAxFD,wBAwFC"}
@@ -5,7 +5,7 @@ import '@proteinjs/reflection';
5
5
  /** Generate Source Graph */
6
6
 
7
7
  const sourceGraph =
8
- '{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"/\'debug\' | \'info\' | \'warn\' | \'error\'"},{"v":"@proteinjs/logger/LogWriter","value":{"packageName":"@proteinjs/logger","name":"LogWriter","filePath":"/home/runner/work/util/util/packages/logger/src/LogWriter.ts","qualifiedName":"@proteinjs/logger/LogWriter","properties":[],"methods":[{"name":"write","returnType":{"packageName":"","name":"void","filePath":null,"qualifiedName":"/void","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"log","type":{"packageName":"@proteinjs/logger","name":"Log","filePath":null,"qualifiedName":"@proteinjs/logger/Log","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/reflection/Loadable"}],"edges":[{"v":"@proteinjs/logger/LogWriter","w":"@proteinjs/reflection/Loadable","value":"extends interface"}]}';
8
+ '{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/logger/DefaultLogWriter","value":{"packageName":"@proteinjs/logger","name":"DefaultLogWriter","filePath":"/home/runner/work/util/util/packages/logger/src/DefaultLogWriter.ts","qualifiedName":"@proteinjs/logger/DefaultLogWriter","properties":[],"methods":[{"name":"write","returnType":{"packageName":"","name":"void","filePath":null,"qualifiedName":"/void","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"log","type":{"packageName":"@proteinjs/logger","name":"Log","filePath":null,"qualifiedName":"@proteinjs/logger/Log","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/reflection/Loadable"},{"v":"/\'debug\' | \'info\' | \'warn\' | \'error\'"}],"edges":[{"v":"@proteinjs/logger/DefaultLogWriter","w":"@proteinjs/reflection/Loadable","value":"extends interface"}]}';
9
9
 
10
10
  /** Generate Source Links */
11
11
 
package/index.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './src/Logger';
2
2
  export * from './src/LogLevel';
3
- export * from './src/LogWriter';
3
+ export * from './src/DefaultLogWriter';
4
4
  export * from './src/DevLogWriter';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/logger",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "A simple logger",
5
5
  "main": "./dist/generated/index.js",
6
6
  "types": "./dist/generated/index.d.ts",
@@ -38,5 +38,5 @@
38
38
  "ts-jest": "29.1.1",
39
39
  "typescript": "5.2.2"
40
40
  },
41
- "gitHead": "6d707acf89c828b1522cd848912f43214ffb9fad"
41
+ "gitHead": "397c6cfc15a12b14914ae020052d5085fbafac29"
42
42
  }
@@ -0,0 +1,37 @@
1
+ import { Loadable, SourceRepository } from '@proteinjs/reflection';
2
+ import { LogLevel } from './LogLevel';
3
+ import { InspectOptions } from 'util';
4
+
5
+ export const getDefaultLogWriter = () =>
6
+ SourceRepository.get().object<DefaultLogWriter>('@proteinjs/logger/DefaultLogWriter');
7
+
8
+ export type Log = {
9
+ /** The name of the logger creating this log */
10
+ loggerName?: string;
11
+ /** The log level of this log */
12
+ logLevel: LogLevel;
13
+ /** The time the log was created */
14
+ timestamp: Date;
15
+ /** The log message */
16
+ message?: string;
17
+ /** The object being logged */
18
+ obj?: any;
19
+ /** The error being logged */
20
+ error?: Error;
21
+ /** Object formatting options */
22
+ inspectOptions?: InspectOptions;
23
+ };
24
+
25
+ /**
26
+ * Every `Logger` instance will use the implementation of `DefaultLogWriter` unless
27
+ * a log writer is explicitly passed in when instantiating `Logger`.
28
+ *
29
+ * If this is not implemented, and no `LogWriter` is passed into `Logger`, `Logger`
30
+ * will default to using `DevLogWriter`.
31
+ *
32
+ * Note: this should only be implemented once. If there are multiple implementations,
33
+ * `Logger` will choose the first one that shows up in the package dependency tree.
34
+ * */
35
+ export interface DefaultLogWriter extends Loadable {
36
+ write(log: Log): void;
37
+ }
@@ -1,10 +1,11 @@
1
1
  import { inspect, InspectOptions } from 'util';
2
2
  import { LogLevel } from './LogLevel';
3
- import { Log } from './LogWriter';
3
+ import { Log } from './DefaultLogWriter';
4
4
 
5
5
  export class DevLogWriter {
6
6
  private static COLORS = {
7
7
  reset: '\x1b[0m',
8
+ gray: '\x1b[90m',
8
9
  green: '\x1b[32m',
9
10
  cyan: '\x1b[36m',
10
11
  yellow: '\x1b[33m',
@@ -46,7 +47,7 @@ export class DevLogWriter {
46
47
  }
47
48
 
48
49
  private prefix(timestamp: Date, loggerName?: string) {
49
- const formattedTimestamp = this.formatDate(timestamp);
50
+ const formattedTimestamp = `${DevLogWriter.COLORS.gray}${this.formatDate(timestamp)}${DevLogWriter.COLORS.reset}`;
50
51
  const namePrefix = loggerName ? ` [${loggerName}]` : '';
51
52
  return `${formattedTimestamp}${namePrefix}`;
52
53
  }
package/src/Logger.ts CHANGED
@@ -1,27 +1,35 @@
1
1
  import { InspectOptions } from 'util';
2
2
  import { LogLevel } from './LogLevel';
3
- import { LogWriter } from './LogWriter';
3
+ import { getDefaultLogWriter, DefaultLogWriter } from './DefaultLogWriter';
4
4
  import { DevLogWriter } from './DevLogWriter';
5
5
 
6
- type LoggerParams = { name?: string; logLevel?: LogLevel; logWriter?: LogWriter };
6
+ type LoggerParams = { name?: string; logLevel?: LogLevel; logWriter?: DefaultLogWriter };
7
7
  type Log = { message?: string; obj?: any; inspectOptions?: InspectOptions };
8
8
  type ErrorLog = Log & { error?: Error };
9
9
 
10
10
  export class Logger {
11
11
  private name?: string;
12
12
  private logLevel: LogLevel;
13
- private logWriter: LogWriter;
13
+ private logWriter?: DefaultLogWriter;
14
14
 
15
15
  constructor({ name, logLevel, logWriter }: LoggerParams = {}) {
16
16
  if (name) {
17
17
  this.name = name;
18
18
  }
19
19
  this.logLevel = logLevel ?? 'info';
20
- this.logWriter = logWriter ?? new DevLogWriter();
20
+ this.logWriter = logWriter;
21
+ }
22
+
23
+ private getLogWriter() {
24
+ if (!this.logWriter) {
25
+ this.logWriter = getDefaultLogWriter() ?? new DevLogWriter();
26
+ }
27
+
28
+ return this.logWriter;
21
29
  }
22
30
 
23
31
  log({ message, obj, inspectOptions }: Log) {
24
- this.logWriter.write({
32
+ this.getLogWriter().write({
25
33
  loggerName: this.name,
26
34
  logLevel: 'info',
27
35
  timestamp: new Date(),
@@ -36,7 +44,7 @@ export class Logger {
36
44
  return;
37
45
  }
38
46
 
39
- this.logWriter.write({
47
+ this.getLogWriter().write({
40
48
  loggerName: this.name,
41
49
  logLevel: 'debug',
42
50
  timestamp: new Date(),
@@ -51,7 +59,7 @@ export class Logger {
51
59
  return;
52
60
  }
53
61
 
54
- this.logWriter.write({
62
+ this.getLogWriter().write({
55
63
  loggerName: this.name,
56
64
  logLevel: 'info',
57
65
  timestamp: new Date(),
@@ -66,7 +74,7 @@ export class Logger {
66
74
  return;
67
75
  }
68
76
 
69
- this.logWriter.write({
77
+ this.getLogWriter().write({
70
78
  loggerName: this.name,
71
79
  logLevel: 'warn',
72
80
  timestamp: new Date(),
@@ -77,7 +85,7 @@ export class Logger {
77
85
  }
78
86
 
79
87
  error({ message, obj, inspectOptions, error }: ErrorLog) {
80
- this.logWriter.write({
88
+ this.getLogWriter().write({
81
89
  loggerName: this.name,
82
90
  logLevel: 'error',
83
91
  timestamp: new Date(),
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogWriter.d.ts","sourceRoot":"","sources":["../../src/LogWriter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEtC,eAAO,MAAM,YAAY,iBAAgF,CAAC;AAE1G,MAAM,MAAM,GAAG,GAAG;IAChB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,6BAA6B;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gCAAgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CACvB"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLogWriter = void 0;
4
- const reflection_1 = require("@proteinjs/reflection");
5
- const getLogWriter = () => reflection_1.SourceRepository.get().object('@proteinjs/logger/LogWriter');
6
- exports.getLogWriter = getLogWriter;
7
- //# sourceMappingURL=LogWriter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogWriter.js","sourceRoot":"","sources":["../../src/LogWriter.ts"],"names":[],"mappings":";;;AAAA,sDAAmE;AAI5D,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,6BAAgB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAY,6BAA6B,CAAC,CAAC;AAA7F,QAAA,YAAY,gBAAiF"}
package/src/LogWriter.ts DELETED
@@ -1,26 +0,0 @@
1
- import { Loadable, SourceRepository } from '@proteinjs/reflection';
2
- import { LogLevel } from './LogLevel';
3
- import { InspectOptions } from 'util';
4
-
5
- export const getLogWriter = () => SourceRepository.get().object<LogWriter>('@proteinjs/logger/LogWriter');
6
-
7
- export type Log = {
8
- /** The name of the logger creating this log */
9
- loggerName?: string;
10
- /** The log level of this log */
11
- logLevel: LogLevel;
12
- /** The time the log was created */
13
- timestamp: Date;
14
- /** The log message */
15
- message?: string;
16
- /** The object being logged */
17
- obj?: any;
18
- /** The error being logged */
19
- error?: Error;
20
- /** Object formatting options */
21
- inspectOptions?: InspectOptions;
22
- };
23
-
24
- export interface LogWriter extends Loadable {
25
- write(log: Log): void;
26
- }