当前位置:首页 > 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 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…