我有一个尝试登录到 Azure Application Insights 的示例 NodeJS 应用程序。当我运行时,应用程序成功登录到控制台,但 Azure App Insights 未捕获,无论是在本地运行还是在托管的 Azure 应用服务上运行。它只捕获console.log 的输出,而不是winston 的输出。请指教
应用程序日志文件系统已在 Azure 应用服务上启用并设置为调试级别
温斯顿:版本 3.3.3
应用洞察:1.8.2 版
应用程序.js
const http = require('http');
const logger = require('./logger')
const appInsight = require('applicationinsights')
appInsight.setup('<MY INSTRUMENTATION KEY>')
.setAutoDependencyCorrelation(true)
.setAutoCollectRequests(true)
.setAutoCollectPerformance(true, true)
.setAutoCollectExceptions(true)
.setAutoCollectDependencies(true)
.setAutoCollectConsole(true, true)
.setSendLiveMetrics(false)
.setDistributedTracingMode(appInsight.DistributedTracingModes.AI)
.start()
const server = http.createServer((request, response) => {
console.log('Console can be logged')
logger.info('Winston info')
logger.debug('Winston debug')
logger.error('Winston error')
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World!");
});
const port = process.env.PORT || 1337;
server.listen(port);
console.log("Server running at http://localhost:%d", port);
logger.js
const winston = require("winston");
const level = process.env.LOG_LEVEL || 'debug';
const logger = winston.createLogger({
transports: [
new winston.transports.Console({
level: level,
format: winston.format.simple(),
debugStdout: true,
})
]
});
module.exports = logger