为什么Azure上的My Node应用的日志流为空?

ttvkxqim  于 2023-11-17  发布在  Node.js
关注(0)|答案(1)|浏览(133)

我在Azure上的节点应用程序不记录任何内容:日志流为空。
应用程序在概览面板中显示为“正在运行”。应用程序日志记录设置为“打开”和“详细”。


的数据
myserver.scm.azurewebsites.net/api/logstream:



服务器代码:

const express = require('express');
const cors = require('cors');

// repeatedly log every 2 minutes a test message to console
setInterval(() => {
  console.log('test');
}, 120000);

const app = express();

var corsOptions = {
  origin: '*',
  optionsSuccessStatus: 200
}
app.use(cors(corsOptions));

// simple ping - pong
app.get('/api/ping', (req, res) => {
  res.json({ message: 'pong' });
});

app.listen(80, () => console.log('Server running on port 80'));`

字符串
尝试:添加一个IISNode.yml文件到我的项目中,条目loggingEnabled:true

tvz2xvvm

tvz2xvvm1#

我试了和你一样的代码,没有收到任何日志


的数据

  • 添加日志和日志级别将跟踪日志流中的日志。
  • 下面的代码是Node.js中的一个Node.js应用程序,其中包括使用Winston库进行日志记录。
  • 下面这个带有Winston日志功能的js.js应用程序处理两个路由上的请求,并为服务器提供错误处理。
// app.js

const port = process.env.PORT || 3000;

// Create a logger instance with different log levels
const logger = winston.createLogger({
  level: 'info',
  format: winston.format.combine(
    winston.format.colorize(),
    winston.format.timestamp(),
    winston.format.printf(({ timestamp, level, message }) => {
      return `${timestamp} [${level}] ${message}`;
    })
  ),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'sam.log' }) // Logs to a file
  ]
});

// Middleware for logging requests
app.use((req, res, next) => {
  logger.info(`${req.method} ${req.url}`);
  next();
});

app.get('/', (req, res) => {
  res.send('Hello, World!');
});

app.get('/api/ping', (req, res) => {
  logger.info('Received a ping request');
  res.json({ message: 'pong' });
});

// Error handling middleware
app.use((err, req, res, next) => {
  logger.error(err.stack);
  res.status(500).send('Something went wrong!');
});

app.listen(port, () => {
  logger.info(`Server is running on port ${port}`);
});

字符串

本地:



日志流:


相关问题