log4js node日志插件

news2024/12/23 12:48:38

最近不是特别忙在用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')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1928136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于KafkaTemplate与 @KafkaListener生产者与消费者功能的实现

1.前言: 1.1关于生产者与消费者的详细介绍请查看另一篇文章: 使用JavaApi实现模拟Kafka的消息生产者与发送者http://t.csdnimg.cn/ukNSU 1.2 本文使用 KafkaTemplate与 KafkaListener实现生产者与消费者功能: Kafka 是一个流行的分布式流处…

解决RuntimeError: Couldn‘t load custom C++ ops. This can happen if your PyTorch

问题描述 刚下好yolov8的代码,想测一下能否成果,果然没成功,报错如下 RuntimeError: Couldnt load custom C ops. This can happen if your PyTorch and torchvision versions are incompatible, or if you had errors while compiling tor…

设计模式-创建型模式之工厂方法模式

和简单工厂模式中工厂负责生产所有产品相比,工厂方法模式将生成具体产品的任务分发给具体的产品工厂,定义一个用于创建对象的接口,让子类决定实例化哪个产品类对象。 工厂方法模式的主要角色: 抽象工厂(AbstractFactory):提供了创建产品的接…

C++20中的constinit说明符

constinit说明符断言(assert)变量具有静态初始化,即零初始化和常量初始化(zero initialization and constant initialization),否则程序格式不正确(program is ill-formed)。 constinit说明符声明具有静态或线程存储持续时间(thread storage duration)的…

代谢组数据分析(十四):代谢物组间网络分析(spearman coefficient)

介绍 在代谢物网络分析领域,研究者采用斯皮尔曼系数来定量评估代谢物之间的相关性。该系数作为一种有效的非参数统计工具,能够揭示代谢物间潜在的关联模式,不受它们分布特性的限制。通过计算所有代谢物配对间的斯皮尔曼系数,研究者能够构建出反映代谢物相互关系的网络。 …

Word创建多级列表的样式

Word创建多级列表的样式 要求结果方法创建样式修改样式设置段落创建快捷键 关联多级列表 要求 创建自定义的三级列表样式,要求标题均为黑体,小四字号,1.5倍行距,有快捷键。 结果 方法 在样式中创建三个样式。 创建样式 录入名…

BL201分布式I/O耦合器连接Profinet网络

钡铼技术的BL201分布式I/O耦合器是一个用于Profinet网络的设备,用于连接远程输入/输出(I/O)设备到控制系统,如可编程逻辑控制器(PLC),能够实现分布式的I/O连接和通信。 它支持标准Profinet IO …

鸿蒙语言基础类库:【@system.bluetooth (蓝牙)】

蓝牙 说明: 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7 开始,该接口不再维护,推荐使用新接口[ohos.bluetooth]。本模块首批接口从API version…

【Python学习笔记】:Python爬取音频

【Python学习笔记】:Python爬取音频 背景前摇(省流可以不看): 人工智能公司实习,好奇技术老师训练语音模型的过程,遂请教,得知训练数据集来源于爬取某网页的音频。 很久以前看B站同济子豪兄的《…

Android 10.0 SystemUI下拉状态栏固定展开QsPanel不收缩功能实现

1. 前言 在10.0的系统ROM产品定制化开发中,在systemUi的原生下拉状态栏中,首次下拉展开quickQsPanel,第二次展开就显示 QsPanel,在产品开发中,需要下拉状态栏固定展开QsPanel,不需要二次展开,接下来分析下相关功能的实现,如图: 2.SystemUI下拉状态栏固定展开QsPanel不收…

原创音乐小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,歌曲类型管理,歌曲信息管理,热门歌手管理,音乐资讯管理,系统管理 微信端账号功能包括:系统首页,歌曲信息&am…

教你用服务器部署欧洲卡车模拟器2开服

1、购买后登录服务器(百度莱卡云) 进入控制面板后会出现正在安装的界面,安装大约5分钟(如长时间处于安装中请联系我们的客服人员) 2、修改查询端口 点击网络,两个端口已经创建完成 复制不是首选的端口&am…

pycharm+pyqt6配置

1、pip install pyqt6 pyqt6-toools 2、pycharm配置 配置:designer Program::D:\Python39\Lib\site-packages\qt6_applications\Qt\bin\designer.exe Working directory: $ProjectFileDir$ 配置:pyuic6.exe Program&#xff1a…

高频面试题基本总结回顾2(含笔试高频算法整理)

目录 一、基本面试流程回顾 二、基本高频算法题展示 三、基本面试题总结回顾 (一)Java高频面试题整理 (二)JVM相关面试问题整理 (三)MySQL相关面试问题整理 (四)Redis相关面试…

uniapp中使用uni-ui组件库

src目录下新建components目录从uni-ui引入对应的组件目录&#xff0c;如下图 直接使用组件&#xff0c;demo <template><view id"my" data-name"王五" data-age"18">my页面</view><uni-data-select :localdata"local…

POLYGCL GRAPH CONTRASTIVE LEARNING VIA LEARNABLE SPECTRAL POLYNOMIAL FILTERS

发表于:ICLR24 推荐指数: #paper/⭐⭐⭐ 写作动机 作者之前写过一篇文章:ChebNetII,但是,作者那个时候只考虑了低通滤波器,这在异配图中是有限制的,因此作者写了这篇文章.是spot light文章,证明严谨,值得一读(但是需要阅读相关文章) 相关工作 对比学习 图增强基础的对比学…

JVM的三种垃圾回收算法

目录 1、标记-清除算法 2、标记-复制算法 3、标记-整理算法 总结&#xff1a; jvm先判断哪些需要回收&#xff0c;哪些需要保留&#xff0c;通常采用可达性分析算法标记存活对象&#xff1a;判断对象能否回收的两种方法&#xff0c;以及JVM引用-CSDN博客 1、标记-清除算法 …

数据结构(复杂度)

复杂度 算法在编写成可执行程序后&#xff0c;运⾏时需要耗费时间资源和空间(内存)资源。因此衡量⼀个算法的好 坏&#xff0c;⼀般是从时间和空间两个维度来衡量的&#xff0c;即时间复杂度和空间复杂度。 时间复杂度主要衡量⼀个算法的运⾏快慢&#xff0c;⽽空间复杂度主要…

1. 黑盒测试

黑盒测试 1. 黑盒测试定义 黑盒测试是一种软件测试技术&#xff0c;它可以检查软件的功能&#xff0c;而不会窥视其内部结构或编码。黑盒测试的主要来源是客户声明的要求规范。 黑盒测试的特点&#xff1a; 黑盒测试与软件的具体实现过程无关&#xff0c;如果实现过程发生了…

NetSuite RPA技术实践

近期有同学提出一个需求。 “需要存取的報表是存貨分類帳(stock ledger)&#xff0c;將查到的各個[Item|Location]作為一組key&#xff0c;分別將報表中的「期末庫存量」「期末平均成本」「期末庫存量價值」這三欄的值&#xff0c;在每個月月底的時候自動將這個報表的這三欄數…