applicationinsights
Version:
Microsoft Application Insights module for Node.js
47 lines • 2.36 kB
JavaScript
// 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
;