UNPKG

applicationinsights

Version:

Microsoft Application Insights module for Node.js

47 lines 2.36 kB
"use strict"; // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. Object.defineProperty(exports, "__esModule", { value: true }); exports.AKSLoader = void 0; const os = require("os"); const path = require("path"); const diagnosticLogger_1 = require("./diagnostics/diagnosticLogger"); const fileWriter_1 = require("./diagnostics/writers/fileWriter"); const statusLogger_1 = require("./diagnostics/statusLogger"); const agentLoader_1 = require("./agentLoader"); class AKSLoader extends agentLoader_1.AgentLoader { constructor() { super(); if (this._canLoad) { // AKS specific configuration this._options.otlpMetricExporterConfig = { // Add OTLP if env variable is present enabled: process.env["OTEL_EXPORTER_OTLP_METRICS_ENDPOINT"] ? true : false }; this._options.instrumentationOptions = Object.assign(Object.assign({}, this._options.instrumentationOptions), { console: { enabled: true }, bunyan: { enabled: true }, winston: { enabled: true } }); let statusLogDir = '/var/log/applicationinsights/'; if (this._isWindows) { if (process.env.HOME) { statusLogDir = path.join(process.env.HOME, "LogFiles", "ApplicationInsights", "status"); } else { statusLogDir = path.join(os.tmpdir(), "Microsoft", "ApplicationInsights", "StatusMonitor", "LogFiles", "ApplicationInsights", "status"); } } this._statusLogger = new statusLogger_1.StatusLogger(this._instrumentationKey, new fileWriter_1.FileWriter(statusLogDir, 'status_nodejs.json', { append: false, deleteOnExit: false, renamePolicy: 'overwrite', sizeLimit: 1024 * 1024, })); this._diagnosticLogger = new diagnosticLogger_1.DiagnosticLogger(this._instrumentationKey, new fileWriter_1.FileWriter(statusLogDir, 'applicationinsights-extension.log', { append: true, deleteOnExit: false, renamePolicy: 'overwrite', sizeLimit: 1024 * 1024, // 1 MB })); } } } exports.AKSLoader = AKSLoader; //# sourceMappingURL=aksLoader.js.map