溫馨提示×

怎樣定制Ubuntu JS日志格式

小樊
36
2025-07-29 05:14:17
欄目: 編程語言

在Ubuntu系統中,定制JavaScript(JS)日志格式通常涉及到配置應用程序或服務的日志系統。以下是一些常見的方法來定制JS日志格式:

1. 使用Node.js的winston

winston是一個流行的Node.js日志庫,可以用來記錄和格式化日志。

安裝winston

npm install winston

配置winston日志格式

const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.combine(
    winston.format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss'
    }),
    winston.format.printf(({ timestamp, level, message }) => {
      return `${timestamp} ${level}: ${message}`;
    })
  ),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

logger.info('Hello, world!');

2. 使用morgan

morgan是一個HTTP請求日志中間件,常用于Express應用。

安裝morgan

npm install morgan

配置morgan日志格式

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

const app = express();

app.use(morgan('combined')); // 默認格式

// 自定義格式
app.use(morgan(':method :url :status :res[content-length] - :response-time ms'));

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

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

3. 使用系統日志服務

Ubuntu系統通常使用syslogrsyslog來記錄系統日志。你可以通過配置這些服務來定制日志格式。

配置rsyslog

編輯/etc/rsyslog.conf或創建一個新的配置文件在/etc/rsyslog.d/目錄下。

sudo nano /etc/rsyslog.d/50-default.conf

添加自定義日志格式:

$template CustomFormat,"%timegenerated% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
*.* ?CustomFormat
& stop

重啟rsyslog服務:

sudo systemctl restart rsyslog

4. 使用Docker容器日志

如果你在Docker容器中運行Node.js應用,可以通過配置Docker容器的日志驅動和選項來定制日志格式。

配置Docker日志驅動

docker-compose.yml中配置日志驅動:

version: '3'
services:
  app:
    image: your-node-app-image
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

通過這些方法,你可以根據需要定制Ubuntu系統中JavaScript應用的日志格式。選擇適合你應用場景的方法進行配置即可。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女