@ogcio/o11y-sdk-node
Version:
Opentelemetry standard instrumentation SDK for NodeJS based project
31 lines (30 loc) • 979 B
JavaScript
import { SeverityNumber } from "@opentelemetry/api-logs";
export class NextJsLogProcessor {
onEmit(logRecord, _context) {
try {
if (typeof logRecord.body === "object" &&
logRecord.body !== null &&
"error" in logRecord.body) {
const error = logRecord.body.error;
if (error &&
typeof error.digest === "string" &&
error.digest.includes("NEXT_REDIRECT")) {
logRecord.setBody({
message: error.digest,
});
logRecord.setSeverityNumber(SeverityNumber.INFO);
logRecord.setSeverityText("INFO");
}
}
}
catch (err) {
console.error("Error processing log record:", err);
}
}
shutdown() {
return Promise.resolve();
}
forceFlush() {
return Promise.resolve();
}
}