当前位置:首页 > JavaScript

js实现log

2026-04-06 09:45:58JavaScript

JavaScript 实现日志功能

使用 console.log 是最常见的日志输出方式,适用于浏览器和 Node.js 环境。

console.log('This is a log message');

自定义日志函数

可以封装一个自定义日志函数,增加时间戳或其他信息。

function log(message) {
    const timestamp = new Date().toISOString();
    console.log(`[${timestamp}] ${message}`);
}

log('Custom log message');

日志级别

实现不同级别的日志,如 debug、info、warn、error。

const logger = {
    debug: (message) => console.debug(`[DEBUG] ${message}`),
    info: (message) => console.info(`[INFO] ${message}`),
    warn: (message) => console.warn(`[WARN] ${message}`),
    error: (message) => console.error(`[ERROR] ${message}`)
};

logger.debug('Debug message');
logger.info('Info message');
logger.warn('Warning message');
logger.error('Error message');

日志存储

将日志输出到文件或远程服务器,适用于 Node.js。

const fs = require('fs');

function logToFile(message) {
    const timestamp = new Date().toISOString();
    const logMessage = `[${timestamp}] ${message}\n`;
    fs.appendFile('app.log', logMessage, (err) => {
        if (err) console.error('Failed to write log:', err);
    });
}

logToFile('Log message to file');

第三方日志库

使用成熟的日志库如 winstonpino 提供更多功能。

const winston = require('winston');

const logger = winston.createLogger({
    level: 'info',
    format: winston.format.json(),
    transports: [
        new winston.transports.File({ filename: 'error.log', level: 'error' }),
        new winston.transports.File({ filename: 'combined.log' })
    ]
});

logger.info('Info message with winston');
logger.error('Error message with winston');

浏览器控制台增强

在浏览器中使用 console 对象的其他方法增强日志。

js实现log

console.group('User Details');
console.log('Name: John Doe');
console.log('Age: 30');
console.groupEnd();

console.table([{ name: 'John', age: 30 }, { name: 'Jane', age: 25 }]);

标签: jslog
分享给朋友:

相关文章

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…