log4js

搭建node服务(一):日志处理

前提是你 提交于 2020-04-21 18:53:46
对于一个应用程序来说,日志记录是非常重要的。日志可以帮助开发人员快速定位线上问题,定制解决方案;日志中包含大量用户信息,通过日志分析还可以获取用户行为、兴趣偏好等信息,通过这些信息可以得到用户画像,对公司战略的制定提供参考。本文将要介绍如何在node服务中处理日志。 一、技术选型 选择了3种主流的技术进行对比: 1.1 log4js log4js是一种node日志管理工具,可以将自定义格式的日志输出到各种渠道。对于控制台的日志输出可以呈现彩色日志,对于文件方式的日志输出,可以根据文件大小或者日期进行日志切割。 熟悉java的开发人员会发现log4js与一种常用的java日志工具log4j很像。没错,log4js是log4j的JavaScript版,使用方式也相似。 1.2 winston winston也是一种非常流行的node日志管理工具,支持多传输。默认输出格式为json,也可以自定义输出格式。如果想要对日志进行切割还需要使用 winston-daily-rotate-file 模块。 1.3 PM2 PM2实际是node进程管理工具,具有性能监控、进程守护、负载均衡、日志管理等功能。使用PM2进行日志管理,只需要项目中增加console方法调用,无需添加额外的代码。要对日志进行切割,需要使用pm2-logrotate。 由于团队内部服务端系统很多是基于java的

pm2与log4js的结合使用

喜夏-厌秋 提交于 2020-02-08 22:33:02
pm2与log4js的结合使用 如需转载请标明出处: http://blog.csdn.net/itas109 QQ技术交流群: 129518033 文章目录 pm2与log4js的结合使用 @[toc] 1.pm2简介 2.测试代码 3.pm2单机与日志测试 4.pm2集群与日志测试 5.pm2集群模式下使用log4js 6.其他 6.1 PM2 API 6.2 pm2生态系统文件 6.3 web管理 相关问题: 1.nodejs集群模式使用log4js 2.pm2 cluster log4js不打印日志 3.pm2 cluster log4js日志写文件丢数据 环境说明: pm2版本:4.2.1 log4js版本:5.1.0 1.pm2简介 PM2是守护程序进程管理器,它将帮助您管理和保持应用程序在线。 官网:https://pm2.keymetrics.io 可通过NPM或Yarn安装的PM2: $ npm install pm2 -g # or $ yarn global add pm2 pm2常用命令 # Fork mode pm2 start app.js --name my-api # Name process # Cluster mode pm2 start app.js -i 0 # Will start maximum processes with LB

Nodejs log4js日志管理配置

假如想象 提交于 2020-02-04 09:50:26
最近在看公司的项目,日志管理用的是nodejs 的日志模块log4js。然后看了一下网上的一些资料和官方的文档。写一下自己的一些理解。 基本的理解就是: "log4js": "^3.0.6" 入口-分级 最近的log4js 默认输出的不同级别的日志分类,分别配有不同的颜色 入口-分类 logger = log4js.getLogger('CHEESE'); 便于日志中区分不同的日志 入口-作用 显而易见,后台日志种可以区分不同分类的日志,然后控制台的打印可以更好的生产/开发 出口-输出位置 通过appender 多种输出方式:控制台、SMTP、file、Mailgun. 出口-输出样式 basic、colored、pattern、messagePassThrough 安装日志模块 npm install log4js log4js 2.0 版本以上 stdout 作为默认 appender, 推荐使用 stdout 而不是 console 打印控制台日志 appender-console 在大量日志输出时会占用 v8 大量内存,拖慢系统性能,不推荐使用 ! 简单使用 基本的用法:三部曲 // file: logger.js var log4js = require('log4js'); var logger = log4js.getLogger(); logger.debug(

log4js 安装和配置

喜欢而已 提交于 2019-12-17 13:30:13
在 nodeJS 开发中,不能直接使用 console.log 打印相关日志并 debug。所以,查阅资料后,可以使用 log4js 在终端打印日志。下面是具体的安装和使用。 除了直接打印日志,这个库还支持这些功能:支持使用不同颜色标记和打印日志;文件类型的日志输出源,并可通过配置支持基于文件大小或日期进行日志回滚;支持日志分级和日志分类;可配置的日志信息模式。 基本用法 'use strict' ; let log4js = require ( 'log4js' ) ; let logger = log4js . getLogger ( ) ; logger . debug ( 'this is debug' ) ; logger . info ( 'this is info' ) ; logger . warn ( 'this is warn' ) ; 运行 node log.js 注意:如果没有全局安装 log4js 会报错,然后执行 sudo npm install log4js -g # 使用npm install -g 'xxx' 之后仍然报 # Cannot find module 'xxx' 错误,可以通过设置环境变量来解决; export NODE_PATH = /usr/local/lib/node_modules/ echo $NODE_PATH #

log4js 介绍及中文 API

匿名 (未验证) 提交于 2019-12-03 00:32:02
log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。 stdout 或 stderr 彩色控制台记录 File Appender,可根据文件大小或日期配置日志滚动 File Appender GELF appender Loggly appender Logstash UDP appender logFaces ( UDP and HTTP )appender multiprocess appender (当你有多个服务器但想要集中日志记录时非常有用) Connect / Express Logger 日志程序 可配置的日志消息 layout/patterns 不同日志类别的不同日志级别(将应用程序的某些部分作为调试,其他部分仅作为错误,等等)。 内置的支持,可以使用 node core cluster 模块进行日志记录。 npm install log4js var log4js = require ( 'log4js' ); var logger = log4js.getLogger(); logger.level = 'debug' ; // default level is OFF - which means no logs at all. logger.debug( "Some debug messages" ); API

Nodejs操作Cassandra数据库

匿名 (未验证) 提交于 2019-12-02 23:05:13
Ŀ¼ 前言 安装Cassandra Nodejs操作Cassandra 操作系统win10 时间2019年02月 Nodejs版本:node v8.9.3 Cassandra版本:cassandra-3.11.3 参考网址1 官网 下载Cassandra压缩包 解压,并配置环境变量: |操作|变量名|变量值| |:---:|:---|:---| |新建|CASSANDRA_HOME|解压路径| |增加|PATH|解压路径\bin;| npm install cassandra-driver -g -g参数表示全局安装,这样在哪都能用了 C:\Users\wahaha>cassandra select 包含一份日志配置,可以根据不同的日志级别输出成文件 /** * Connect loacal cassandra database. * Output the log as a file '*.log'. */ const cassandra = require('cassandra-driver'); var PlainTextAuthProvider = cassandra.auth.PlainTextAuthProvider; // config log const log4js = require('log4js'); log4js.configure({ appenders:

log4js的简单配置

末鹿安然 提交于 2019-11-30 22:12:01
js记录日志工具log4js,参数请参考官网文档 https://log4js-node.github.io/log4js-node/index.html const log4js = require('log4js'); const path = require('path'); log4js.configure({ appenders: { info1: { type: 'file', filename: path.resolve(__dirname, 'logs/info.log') }, info2: { type: 'dateFile', filename: path.resolve(__dirname, 'logs/statistics'), pattern: 'yyyy-MM-dd.log', alwaysIncludePattern: true }, errors: { type: 'file', filename: path.resolve(__dirname, 'logs/error.log') } }, categories: { autoInfo: { appenders: ['info1'], level: 'info' }, staInfo: { appenders: ['info2'], level: 'info' }, error: {

node中使用log4js4.x版本记录

懵懂的女人 提交于 2019-11-27 21:54:09
const log4js = require('log4js'); log4js.configure({ appenders: { logFile: { //文件形式打印日志 type: "dateFile", filename: '../logs/project',//写入日志文件的路径 alwaysIncludePattern: true,//(默认为false) - 将模式包含在当前日志文件的名称以及备份中 //compress: true,//(默认为false) - 在滚动期间压缩备份文件(备份文件将具有.gz扩展名) pattern: "-yyyy-MM-dd.log",//(可选,默认为.yyyy-MM-dd) - 用于确定何时滚动日志的模式。格式:.yyyy-MM-dd-hh:mm:ss.log encoding: 'utf-8',//default "utf-8",文件的编码 maxLogSize: 1024*1024, //文件最大存储空间,当文件内容超过文件存储空间会自动生成一个文件xxx.log.1的序列自增长的文件 backups: 3, }, logConsole: { //控制台打印日志 type: 'console' } }, categories: { default: { //默认使用打印日志的方式 appenders: ['logFile'],

日志模块log4js的配置说明

社会主义新天地 提交于 2019-11-27 03:30:27
1:先安装log4js模块   npm install log4js 目前安装的版本信息:"log4js": "^3.0.5" 2:引用及配置 var log4js = require('log4js'); // log4js的输出级别6个: trace, debug, info, warn, error, fatal log4js.configure({ //输出位置的基本信息设置 appenders: { //设置控制台输出 (默认日志级别是关闭的(即不会输出日志)) out: { type: 'console' }, //设置每天:以日期为单位,数据文件类型,dataFiel 注意设置pattern,alwaysIncludePattern属性 //allLog: { type: 'dateFile', filename: './log/all', pattern: '-yyyy-MM-dd.log', alwaysIncludePattern: true }, //所有日志记录,文件类型file 文件最大值maxLogSize 单位byte (B->KB->M) backups:备份的文件个数最大值,最新数据覆盖旧数据 allLog: { type: 'file', filename: './log/all.log', keepFileExt: true,