首页 > 编程语言 >node项目log4js进行日志记录

node项目log4js进行日志记录

时间:2024-08-12 11:38:29浏览次数:14  
标签:node appenders 配置 log4js content 日志 logger

node项目log4js进行日志记录

超人鸭IP属地: 广东 0.1072022.09.08 18:25:04字数 1,973阅读 827

安装与了解

npm install log4js --save

目前的版本是:6.6.1

在终端打印消息:

import log4js from 'log4js'

const logger = log4js.getLogger()
logger.level = 'all'
logger.debug('some debug messages')

终端效果:

[2022-09-08T15:25:23.776] [DEBUG] default - some debug messages

log4的日志默认由:时间 级别 类型 - 日志内容 组成
这里有了第一个概念,级别,log4可配置的级别一共有九个,这里找了一个参考图:

  image.png
除了 all、off 外,其他七个级别从低到高如上图所示,log4只会输出同级别或者高级别的日志,效果如下:

 

const logger = log4js.getLogger()
logger.level = 'error'
logger.debug('some debug messages')

此时想去输出 debug 日志,但是设置的级别是error,log4不会输出比设置低级的日志。

第二个概念是类型,log4可以对我们的日志进行分类,回到上面的代码:

const logger = log4js.getLogger()
logger.level = 'all'
logger.debug('some debug messages')

输出:
[2022-09-08T15:25:23.776] [DEBUG] default - some debug messages

此时输出的类型的 default

可以在 getLogger 传入类型名称,使打印出来的日志带上类型:

const logger = log4js.getLogger('超人鸭')
logger.level = 'all'
logger.debug('some debug messages')

输出:
[2022-09-08T15:39:48.632] [DEBUG] 超人鸭 - some debug messages

这个类型在log4中叫 Categories,可以配置,详细配置下面讲。

上面只是log4的最简单使用,跟console.log没啥区别,但记录日志是需要记录到文件里面的,而且需要配置文件内容的格式,让我们更好的定位问题。

配置

log4的配置方式如下:

log4js.configure({
  appenders: {},
  categories: {}
})

通过log4js.configure方法传入一个配置对象进行配置,配置对象里面必须传入 appenders、categories

在进行配置之前,先简单介绍一个log4三个最重要的对象之间的关系,以便更好的理解,三个对象为:appenders、categories、logger。(当然这都是我自己的理解,如有错误或者更好的解释欢迎指教,

标签:node,appenders,配置,log4js,content,日志,logger
From: https://www.cnblogs.com/sexintercourse/p/18354656

相关文章

  • nodejs+阿里云实现发送短信验证码
    一、阿里云短信服务打开阿里云短信服务控制台1.新增资质2.新增模板与签名3.等待审核通过二、node代码1.首先需要下载依赖npmi@alicloud/pop-core--save2.引入依赖关键信息建议放环境变量中 accessKeyId和accessKeySecret在这里↓ 以下是代码constC......
  • Windows ,elasticsearch 启动报错 failed to obtain node locks
    报错:2024.08.1118:14:45ERRORes[][o.e.b.ElasticsearchUncaughtExceptionHandler]uncaughtexceptioninthread[main]org.elasticsearch.bootstrap.StartupException:java.lang.IllegalStateException:failedtoobtainnodelocks,tried[[D:\soft\Java\sonarq......
  • 基于nodejs+vue紧急自救知识教学与交流平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着自然灾害与突发事件的频发,提高公众的紧急自救能力已成为社会关注的焦点。在数字化时代,虽然信息获取渠道多样,但针对紧急自救知识的普及与教学质量参差不......
  • 基于nodejs+vue进口零食销售网站[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码毕设程序文件开题报告内容研究背景随着互联网技术的飞速发展和全球贸易的日益紧密,跨境电商已成为连接消费者与世界各地优质商品的重要桥梁。近年来,进口零食以其独特的口味、新颖的包装和丰富的品......
  • 基于nodejs+vue酒店管理系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展和消费者对于住宿体验要求的不断提升,酒店业面临着前所未有的挑战。传统的酒店管理模式在应对客户多样化需求、提升服务效率及优化资源......
  • PostgreSQL的WAL日志详解
    PostgreSQL的WAL日志详解1.WAL日志介绍1.1WAL介绍wal日志即writeaheadlog预写式日志,简称wal日志。wal日志可以说是PostgreSQL中十分重要的部分,相当于oracle中的redo日志。当数据库中数据发生变更时:change发生时:先要将变更后内容计入walbuffer中,再将变更后的数据写入data......
  • Node.JS - 基础(示例代码)
    目录A.Hello1.创建js文件2.编写代码3.编译4.输出结果B.建立HTTP服务器C. 异步式I/O与事件式编程D.模块和包E.调试A.Hello1.创建js文件使用VSCode创建一个.js文件,比如2.编写代码打印logconsole.log("Hello");3.编译4.输出结果B.建立HTTP服务......
  • python 提取日志错误请求批量重新请求
    因为有服务器线上偶发异常,所以需要获取Nginx访问日志重新请求补全数据,这时会借助python获取错误请求的URL,然后重新请求。具体如下:importtimeimportrequestsfromurllib.parseimporturljoin#定义一个集合用于存储已处理的URL,避免重复处理processed_urls=set()with......
  • Nginx日志切分脚本
    因为学习初期都是习惯自己去解决问题没有使用工具切分日志,所以当时写了一个根据天数日志切分脚本,现在记录下。LOG_FILE="/data/log/nginx/filter.access1.log"PROCESSED_LOG_FILE="/data/log/nginx/filter.access.log"month=$(LC_ALL=Cdate"+%b")year=$(date"+%Y")......
  • 基于nodejs+vue酒店预定管理系统[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,酒店业竞争日益激烈,如何高效管理酒店预定流程,提升客户体验,成为酒店管理者关注的焦点。传统的酒店预定方式往往存在信息不对称、预订流......