在Linux环境下,使用JavaScript进行日志格式化时,可以采用以下几种技巧:
模板字符串是ES6引入的一种新特性,可以让你更方便地构建字符串。例如:
const logMessage = (timestamp, level, message) => {
  return `[${timestamp}] [${level}] ${message}`;
};
console.log(logMessage(new Date().toISOString(), 'INFO', 'Hello, World!'));
有许多第三方库可以帮助你格式化日志,例如winston和log4js。这些库提供了丰富的功能,如日志级别、日志格式化、日志输出等。
例如,使用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!');
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);
你可以编写自己的格式化函数,以满足特定的需求。例如:
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进行日志格式化。你可以根据自己的需求选择合适的方法。