forked from Shared/esg
25 lines
864 B
TypeScript
25 lines
864 B
TypeScript
import {
|
|
LoggerProvider,
|
|
BatchLogRecordProcessor,
|
|
} from "@opentelemetry/sdk-logs";
|
|
import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
|
|
import { resourceFromAttributes } from "@opentelemetry/resources";
|
|
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
|
|
|
|
// Create a resource with your service information
|
|
const resource = resourceFromAttributes({
|
|
[ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME || "nodejs-console-app",
|
|
});
|
|
|
|
// Configure the OTLP exporter
|
|
// It automatically reads OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_HEADERS
|
|
const logExporter = new OTLPLogExporter({});
|
|
|
|
// Create and configure the logger provider
|
|
const loggerProvider = new LoggerProvider({
|
|
resource,
|
|
processors: [new BatchLogRecordProcessor(logExporter)], // Configure batch processor
|
|
});
|
|
|
|
export default loggerProvider;
|