@forklaunch/core 0.15.5 → 0.15.7
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/lib/http/index.d.mts +2 -5
- package/lib/http/index.d.ts +2 -5
- package/lib/http/index.js +33 -28
- package/lib/http/index.js.map +1 -1
- package/lib/http/index.mjs +32 -28
- package/lib/http/index.mjs.map +1 -1
- package/package.json +19 -19
package/lib/http/index.mjs
CHANGED
|
@@ -556,7 +556,6 @@ import { isNever as isNever2 } from "@forklaunch/common";
|
|
|
556
556
|
import { trace as trace2 } from "@opentelemetry/api";
|
|
557
557
|
import { logs } from "@opentelemetry/api-logs";
|
|
558
558
|
import pino from "pino";
|
|
559
|
-
import * as PinoPretty from "pino-pretty";
|
|
560
559
|
|
|
561
560
|
// src/http/guards/isLoggerMeta.ts
|
|
562
561
|
function isLoggerMeta(arg) {
|
|
@@ -594,6 +593,15 @@ function normalizeLogArgs(args) {
|
|
|
594
593
|
for (const arg of args) {
|
|
595
594
|
if (typeof arg === "string" && message === "") {
|
|
596
595
|
message = arg;
|
|
596
|
+
} else if (arg instanceof Error) {
|
|
597
|
+
metaObjects.push({
|
|
598
|
+
err: {
|
|
599
|
+
message: arg.message,
|
|
600
|
+
name: arg.name,
|
|
601
|
+
stack: arg.stack,
|
|
602
|
+
...Object.keys(arg).length > 0 ? arg : {}
|
|
603
|
+
}
|
|
604
|
+
});
|
|
597
605
|
} else if (arg && typeof arg === "object" && !Array.isArray(arg)) {
|
|
598
606
|
metaObjects.push(arg);
|
|
599
607
|
} else {
|
|
@@ -626,13 +634,6 @@ ${JSON.stringify(metadata, null, 2)}` : ""}`;
|
|
|
626
634
|
var PinoLogger = class _PinoLogger {
|
|
627
635
|
pinoLogger;
|
|
628
636
|
meta;
|
|
629
|
-
prettyPrinter = PinoPretty.prettyFactory({
|
|
630
|
-
colorize: true,
|
|
631
|
-
// Add error handling options
|
|
632
|
-
errorLikeObjectKeys: ["err", "error"],
|
|
633
|
-
ignore: "pid,hostname",
|
|
634
|
-
translateTime: "SYS:standard"
|
|
635
|
-
});
|
|
636
637
|
constructor(level, meta2 = {}) {
|
|
637
638
|
this.pinoLogger = pino({
|
|
638
639
|
level: level || "info",
|
|
@@ -663,6 +664,8 @@ var PinoLogger = class _PinoLogger {
|
|
|
663
664
|
}
|
|
664
665
|
return true;
|
|
665
666
|
});
|
|
667
|
+
const [errorMetadata] = normalizeLogArgs(filteredArgs);
|
|
668
|
+
Object.assign(meta2, errorMetadata);
|
|
666
669
|
const activeSpan = trace2.getActiveSpan();
|
|
667
670
|
if (activeSpan) {
|
|
668
671
|
const activeSpanContext = activeSpan.spanContext();
|
|
@@ -715,38 +718,38 @@ function logger(level, meta2 = {}) {
|
|
|
715
718
|
|
|
716
719
|
// src/http/telemetry/openTelemetryCollector.ts
|
|
717
720
|
var OpenTelemetryCollector = class {
|
|
718
|
-
logger;
|
|
719
|
-
serviceName;
|
|
720
|
-
metrics;
|
|
721
|
+
#logger;
|
|
722
|
+
#serviceName;
|
|
723
|
+
#metrics;
|
|
721
724
|
// scoped creation and create this in middleware when api execute. Also add correlation id
|
|
722
725
|
constructor(serviceName, level, metricDefinitions) {
|
|
723
|
-
this
|
|
724
|
-
this
|
|
725
|
-
this
|
|
726
|
+
this.#serviceName = serviceName;
|
|
727
|
+
this.#logger = logger(level || "info");
|
|
728
|
+
this.#metrics = {};
|
|
726
729
|
for (const [metricId, metricType] of Object.entries(
|
|
727
730
|
metricDefinitions ?? {}
|
|
728
731
|
)) {
|
|
729
732
|
switch (metricType) {
|
|
730
733
|
case "counter":
|
|
731
|
-
this
|
|
734
|
+
this.#metrics[metricId] = metrics.getMeter(this.#serviceName).createCounter(metricId);
|
|
732
735
|
break;
|
|
733
736
|
case "gauge":
|
|
734
|
-
this
|
|
737
|
+
this.#metrics[metricId] = metrics.getMeter(this.#serviceName).createGauge(metricId);
|
|
735
738
|
break;
|
|
736
739
|
case "histogram":
|
|
737
|
-
this
|
|
740
|
+
this.#metrics[metricId] = metrics.getMeter(this.#serviceName).createHistogram(metricId);
|
|
738
741
|
break;
|
|
739
742
|
case "upDownCounter":
|
|
740
|
-
this
|
|
743
|
+
this.#metrics[metricId] = metrics.getMeter(this.#serviceName).createUpDownCounter(metricId);
|
|
741
744
|
break;
|
|
742
745
|
case "observableCounter":
|
|
743
|
-
this
|
|
746
|
+
this.#metrics[metricId] = metrics.getMeter(this.#serviceName).createObservableCounter(metricId);
|
|
744
747
|
break;
|
|
745
748
|
case "observableGauge":
|
|
746
|
-
this
|
|
749
|
+
this.#metrics[metricId] = metrics.getMeter(this.#serviceName).createObservableGauge(metricId);
|
|
747
750
|
break;
|
|
748
751
|
case "observableUpDownCounter":
|
|
749
|
-
this
|
|
752
|
+
this.#metrics[metricId] = metrics.getMeter(this.#serviceName).createObservableUpDownCounter(metricId);
|
|
750
753
|
break;
|
|
751
754
|
}
|
|
752
755
|
}
|
|
@@ -756,25 +759,25 @@ var OpenTelemetryCollector = class {
|
|
|
756
759
|
);
|
|
757
760
|
}
|
|
758
761
|
log(level, ...args) {
|
|
759
|
-
this
|
|
762
|
+
this.#logger.log(level, ...args);
|
|
760
763
|
}
|
|
761
764
|
info = (msg, ...args) => {
|
|
762
|
-
this
|
|
765
|
+
this.#logger.log("info", msg, ...args);
|
|
763
766
|
};
|
|
764
767
|
error = (msg, ...args) => {
|
|
765
|
-
this
|
|
768
|
+
this.#logger.log("error", msg, ...args);
|
|
766
769
|
};
|
|
767
770
|
warn = (msg, ...args) => {
|
|
768
|
-
this
|
|
771
|
+
this.#logger.log("warn", msg, ...args);
|
|
769
772
|
};
|
|
770
773
|
debug = (msg, ...args) => {
|
|
771
|
-
this
|
|
774
|
+
this.#logger.log("debug", msg, ...args);
|
|
772
775
|
};
|
|
773
776
|
trace = (msg, ...args) => {
|
|
774
|
-
this
|
|
777
|
+
this.#logger.log("trace", msg, ...args);
|
|
775
778
|
};
|
|
776
779
|
getMetric(metricId) {
|
|
777
|
-
return this
|
|
780
|
+
return this.#metrics[metricId];
|
|
778
781
|
}
|
|
779
782
|
};
|
|
780
783
|
dotenv.config({ path: getEnvVar2("DOTENV_FILE_PATH") });
|
|
@@ -3964,6 +3967,7 @@ export {
|
|
|
3964
3967
|
HTTPStatuses,
|
|
3965
3968
|
OPENAPI_DEFAULT_VERSION,
|
|
3966
3969
|
OpenTelemetryCollector,
|
|
3970
|
+
PinoLogger,
|
|
3967
3971
|
createHmacToken,
|
|
3968
3972
|
delete_,
|
|
3969
3973
|
discriminateAuthMethod,
|