当前位置: 首页 > news >正文

log4js node日志插件

最近不是特别忙在用express搭建后台项目,在开发过程中遇到了需要输入日志的问
本来想直接用node自带的console来实现,后来发现console输出的日志达不到自己希望的
日志格式,后来各种百度发现了log4js插件,本文来记录log4js插件使用

日志显示如图

日志图

const log4js = require('log4js');  // 配置log4js  
log4js.configure({  appenders: {  // 定义一个appender,名为'out',类型为'stdout',表示日志将输出到控制台  out: { type: 'stdout' },  // 定义一个appender,名为'info',类型为'file',表示日志将被写入文件  // filename属性指定了日志文件的路径,这里设置为项目根目录下的'log.log'  info: { type: 'file', filename: './log.log' }   },  categories: {  // 定义一个日志类别'default',它使用'out'和'info'这两个appender  // level属性设置为'info',表示只有info级别及以上的日志会被记录  default: { appenders: ['out', 'info'], level: 'info' }  // 如果不想在控制台打印日志,可以去掉'appenders'数组中的'out'  }  
});  // 获取一个日志记录器,名为'info',它将使用上面配置的'info' appender  
let logger = log4js.getLogger('info');  // 将配置好的logger导出,以便在其他文件中使用  
module.exports = logger;

上面的代码配置了在express中使用log4js,以便同时在控制台和文件中记录日志。通过调整配置,你可以灵活地控制日志的输出方式和级别。

使用插件需要先

npm install log4js

在文件中引入

const log4js=require('log4js')

相关文章:

log4js node日志插件

最近不是特别忙在用express搭建后台项目,在开发过程中遇到了需要输入日志的问 本来想直接用node自带的console来实现,后来发现console输出的日志达不到自己希望的 日志格式,后来各种百度发现了log4js插件,本文来记录log4js插件使用…...

【MQTT(3)】开发一个客户端,QT-Android安卓手机版本

手机版本更加方便 生成安卓库 参考了这个代码 在编译Mosquitto以支持安卓平台时,主要涉及到使用Android NDK(Native Development Kit)进行交叉编译。环境的准备参考之前的博客【QT开发(17)】2023-QT 5.14.2实现Andr…...

大数据之数据抽取架构演变过程

架构演变之Flink架构的演变过程 一、 起初搭建整个大数据平台是基于CDH这一套资源管理和整合的CM资源管理器搭建的 整个平台包括了: HDFS,YARN,HIVE,zoozie,FLINK,Spark,Zookeeper等组件搭建而成, 刚开始搭建的时候&am…...

[web]-反序列化-绕过__wakeup(转)

BUUCTF-[极客大挑战 2019]PHP1_[极客大挑战 2019]php 1-CSDN博客 <?php include flag.php;error_reporting(0);class Name{private $username nonono;private $password yesyes;public function __construct($username,$password){$this->username $username;$this-…...

B树与B+树的区别

B树和B树都是用于数据库和文件系统的平衡树数据结构&#xff0c;但它们有一些显著的区别&#xff1a; 节点结构&#xff1a; B树&#xff1a;每个节点存储数据和指向子节点的指针。叶子节点也包含数据。 B树&#xff1a;内部节点只存储索引值&#xff0c;不存储实际数据。所有…...

机器人开源调度系统OpenTCS-6最新版本地源码运行

OpenTCS 项目使用 Gradle 而不是 Maven&#xff0c;那么需要使用 Gradle 来导入和构建项目。在 IntelliJ IDEA 中导入和运行使用 Gradle 的项目&#xff0c;可以按照以下步骤进行操作&#xff1a; 克隆 OpenTCS 源码 首先&#xff0c;克隆 OpenTCS 的源码到本地。您可以使用以…...

云监控(华为) | 实训学习day3(10)

实现数据的增删改查 SpringBoot框架模式 向送外卖一样理解 写程序 1、准备食材(java bean) 2、菜谱(pojo接口->预制->sql 语句) 3、service处理 4、controller 派送 5、用户请求->页面 一、Spring Boot实现增加 第一步&#xff1a;食材(表),用户增加,这里还是用户…...

springMVC前后端请求参数绑定和传递

目录 请求参数的绑定 当绑定参数是基本数据类型和字符串类型时,要注意: 当绑定参数是实体类型&#xff08;JavaBean&#xff09;要注意: 给集合属性数据封装&#xff0c;要注意: 绑定参数是日期类型&#xff0c;如何封装&#xff1a; 代码实例&#xff1a; 实体类1&#…...

【iOS】—— 消息传递和消息转发

【iOS】—— 消息传递和消息转发 1. 消息传递SEL选择子IMP快速查找汇编代码查找过程总结消息转送快速查找IMP 慢速查找总结消息传递慢速查找IMP 2. 消息转发动态决议动态解析添加方法 快速转发慢速转发 总结动态决议消息转发消息的三次拯救 1. 消息传递 在iOS中&#xff0c;消…...

【Node.js】初识 Node.js

Node.js 概念 Node.js 是一个开源与跨平台的 JavaScript运行时环境 &#xff0c;在浏览器外运行 V8 JavaScript 引擎(Google Chrome的内核)&#xff0c;利用事件驱动、非阻塞和异步输入输出 等技术提高性能。 可以理解为 Node.js就是一个服务器端的、非阻塞式 l/O 的、事件驱…...

AWS backup服务和 RDS snapshot的关系

首先&#xff0c;其实RDS的snapshot&#xff0c;自动备份和手动备份&#xff0c;就是调用的AWS backup服务&#xff0c;只不过是通过RDS控制台&#xff0c;API等等进行控制和管理的。 1. AWS backup 服务对于RDS的备份来说包括两部分&#xff1a; --连续备份&#xff08;需要…...

PDF转Word怎么快速转换?格式转换技巧分享

PDF文件和Word文档是我们日常工作中不可或缺的文件格式&#xff0c;同时文件之间的格式转换也十分常见。不同的格式有着不同的优点&#xff0c;将PDF文件改为Word文档后&#xff0c;在编辑或修改文件内容时更为方便。 下面小编就来给大家介绍几种常用的PDF转Word的转换方法&am…...

浅谈:网络协议及网络连接

事情的起因 怪有意思的。&#xff08;纯纯唠嗑&#xff0c;不感兴趣的可以跳过&#xff09; 我们初中&#xff0c;在学期的最后一天换教室&#xff0c;由于我们是十三班&#xff0c;是年级里面的一个“例外”。因为我们其他年级都是12个和10个班级&#xff0c;就我们一个奇数…...

websocket-react使用

问题 在一个应用中&#xff0c;如果需要在不同的组件之间共享同一个WebSocket连接&#xff0c;可以采用多种方法来实现。 比如&#xff1a;单例模式、全局变量、react context React上下文&#xff08;React Context&#xff09; 如果你使用的是React&#xff0c;可以使用Re…...

【总结】nginx源码编译安装报错./configure: error: SSL modules require the OpenSSL library.

问题现象 源码编译安装nginx时&#xff0c;执行./configure …… --with-http_ssl_module 命令安装https模块&#xff0c;需要用到openssl&#xff0c;由于机器缺少openssl库&#xff0c;报如下错误。 …… checking for openat(), fstatat() ... found checking for getaddr…...

昇思25天学习打卡营第15天|两个分类实验

打卡 目录 打卡 实验1&#xff1a;K近邻算法实现红酒聚类 数据准备 模型构建--计算距离 计算演示 模型预测 实验2&#xff1a;基于MobileNetv2的垃圾分类 任务说明 数据集 参数配置&#xff08;训练/验证/推理&#xff09; 数据预处理 MobileNetV2模型搭建 Mobile…...

实践:Redis6.0配置文件解读

详细解读redis配置文件 https://raw.githubusercontent.com/redis/redis/6.2/redis.conf Units 配置数据单位换算关系配置大小单位&#xff1a;当需要内存大小时&#xff0c;可以指定。开头定义了一些基本的度量单位&#xff0c;只支持bytes&#xff0c;不支持bit&#xff0…...

【Go系列】Go语言的网络服务

承上启下 我们既然知道了Go语言的语法&#xff0c;也了解到了Go语言如何协同工作机制。那么对于这样一款天生支持高并发的语言&#xff0c;它的用武之地自然而然的就是网络服务了。我们今天学学如何使用网络服务。 开始学习 Go语言使用网络服务 在Go语言中&#xff0c;使用网…...

CS110L(Rust)

1.Rust 语法总结 数值类型 有符号整数: i8, i16, i32, i64无符号整数: u8, u16, u32, u64 变量声明 声明变量: let i 0; // 类型推断let n: i32 1; // 显式类型声明 可变变量: let mut n 0; n n 1; 字符串 注意&#xff0c;let s: str "Hello world";…...

免费恢复软件有哪些?电脑免费使用的 5 大数据恢复软件

您是否在发现需要的文件时不小心删除了回收站中的文件&#xff1f;您一定对误操作感到后悔。文件永远消失了吗&#xff1f;还有机会找回它们吗&#xff1f;当然有&#xff01;您可以查看这篇文章&#xff0c;挑选 5 款功能强大的免费数据恢复软件&#xff0c;用于 Windows 和 M…...

MATLAB 数值计算辅助:分析 Stable Yogi 生成图像的色彩与纹理特征

MATLAB 数值计算辅助&#xff1a;分析 Stable Yogi 生成图像的色彩与纹理特征 1. 引言 最近在尝试用 Stable Yogi 生成一些皮革纹理的设计图&#xff0c;效果确实挺惊艳的。但生成得多了&#xff0c;就遇到一个新问题&#xff1a;我手头攒了几百张图&#xff0c;风格各异&…...

WSABuilds社区活动:线上线下聚会与开发者大会参与指南

WSABuilds社区活动&#xff1a;线上线下聚会与开发者大会参与指南 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root sol…...

突破数据采集困境:Easy-Scraper 重构网页信息提取范式

突破数据采集困境&#xff1a;Easy-Scraper 重构网页信息提取范式 【免费下载链接】easy-scraper Easy scraping library 项目地址: https://gitcode.com/gh_mirrors/ea/easy-scraper 在数据驱动决策的时代&#xff0c;网页数据采集如同挖掘数字金矿。但传统工具往往陷入…...

Webots R2021a搭配Anaconda环境:从SSL报错到Python API调通的完整避坑指南

Webots R2021a与Anaconda环境深度整合&#xff1a;Python控制器开发全流程解析 当机器人仿真与Python开发环境相遇时&#xff0c;Webots和Anaconda的组合为研究者提供了强大工具链。然而&#xff0c;从环境配置到API调用的完整流程中&#xff0c;开发者常会遇到各种"坑点&…...

RAG知识库落地秘籍:从零到一打造企业智能问答系统,提升效率与用户体验!

有幸参与并主导实施的第二个AI 大模型应用项目就是“AI知识库”或者叫“智能问答”&#xff0c;也是接下来要介绍的内容。整篇文章将围绕着以下几个议题进行展开&#xff0c;内容上更侧重概念理解、落地方法路径、实施效果保障以及经验总结&#xff0c;不会在这里探讨具体技术细…...

5大场景解锁智能群管理:如何让LuckyLilliaBot提升社群运营效率80%

5大场景解锁智能群管理&#xff1a;如何让LuckyLilliaBot提升社群运营效率80% 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot LuckyLilliaBot作为一款基于OneBot11协议的NTQQ插件&#xff0c;能够将…...

Claude Code智能测试生成:5步构建企业级自动化测试体系

Claude Code智能测试生成&#xff1a;5步构建企业级自动化测试体系 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining comple…...

GLM-OCR技术解析专栏:在CSDN分享模型优化心得

GLM-OCR技术解析专栏&#xff1a;在CSDN分享模型优化心得 大家好&#xff0c;我是老张&#xff0c;一个在AI和计算机视觉领域摸爬滚打了十来年的工程师。最近几年&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术发展得飞快&#xff0c;从过去只能识别清晰打印体&…...

从预处理指令看跨语言兼容:手把手封装C++库供C调用的5个关键步骤

从预处理指令看跨语言兼容&#xff1a;手把手封装C库供C调用的5个关键步骤 在嵌入式开发和SDK设计中&#xff0c;经常需要将C库封装成C语言接口。这种跨语言调用看似简单&#xff0c;实则暗藏玄机。本文将深入剖析extern "C"和__cplusplus预处理指令的底层原理&#…...

滞回比较器设计实战:从理论到参数优化

1. 滞回比较器基础&#xff1a;从门铃到航天器的抗噪神器 第一次接触滞回比较器是在大学电子设计课上&#xff0c;当时教授用一个生动的例子开场&#xff1a;"想象你家的门铃——如果它对任何风吹草动都响个不停&#xff0c;你会疯掉&#xff1b;但如果连用力敲门都没反应…...