溫馨提示×

Linux JS日志格式化技巧

小樊
44
2025-09-17 12:56:54
欄目: 編程語言

在Linux環境下,使用JavaScript進行日志格式化時,可以采用以下幾種技巧:

  1. 使用模板字符串(Template literals):

模板字符串是ES6引入的一種新特性,可以讓你更方便地構建字符串。例如:

const logMessage = (timestamp, level, message) => {
  return `[${timestamp}] [${level}] ${message}`;
};

console.log(logMessage(new Date().toISOString(), 'INFO', 'Hello, World!'));
  1. 使用第三方庫:

有許多第三方庫可以幫助你格式化日志,例如winstonlog4js。這些庫提供了豐富的功能,如日志級別、日志格式化、日志輸出等。

例如,使用winston

const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.combine(
    winston.format.timestamp(),
    winston.format.printf(({ timestamp, level, message }) => {
      return `[${timestamp}] [${level}] ${message}`;
    })
  ),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
    new winston.transports.File({ filename: 'logs/combined.log' }),
  ],
});

logger.info('Hello, World!');
  1. 使用console.table

如果你想以表格形式輸出日志,可以使用console.table方法。例如:

const logs = [
  { timestamp: new Date().toISOString(), level: 'INFO', message: 'Hello, World!' },
  { timestamp: new Date().toISOString(), level: 'ERROR', message: 'Oops, something went wrong!' },
];

console.table(logs);
  1. 自定義格式化函數:

你可以編寫自己的格式化函數,以滿足特定的需求。例如:

const formatDate = (date) => {
  return date.toISOString().replace('T', ' ').substring(0, 19);
};

const logMessage = (timestamp, level, message) => {
  const formattedTimestamp = formatDate(new Date(timestamp));
  return `[${formattedTimestamp}] [${level}] ${message}`;
};

console.log(logMessage(new Date().toISOString(), 'INFO', 'Hello, World!'));

這些技巧可以幫助你在Linux環境下使用JavaScript進行日志格式化。你可以根據自己的需求選擇合適的方法。

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