如何查看node日志?

node日志可以使用日志管理工具log4js来查看。log4js是一个nodejs日志管理工具,可以将日志以各种形式输出到各种渠道。

log4js:

特点

  • 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");

log4js单独配置到一个文件,其他要使用的引用这个文件。

log-config.js:

const log4js = require('log4js')
 
log4js.configure({
    replaceConsole: true,
    appenders: {
        stdout: {//控制台输出
            type: 'stdout'
        },
        req: {//请求日志
            type: 'dateFile',
            filename: 'logs/reqlog/',
            pattern: 'req-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
        err: {//错误日志
            type: 'dateFile',
            filename: 'logs/errlog/',
            pattern: 'err-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        },
        oth: {//其他日志
            type: 'dateFile',
            filename: 'logs/othlog/',
            pattern: 'oth-yyyy-MM-dd.log',
            alwaysIncludePattern: true
        }
    },
    categories: {
        default: { appenders: ['stdout', 'req'], level: 'debug' },
        //appenders:采用的appender,取appenders项,level:设置级别
        err: { appenders: ['stdout', 'err'], level: 'error' },
        oth: { appenders: ['stdout', 'oth'], level: 'info' }
    }
})
 
 
exports.getLogger = function (name) {//name取categories项
    return log4js.getLogger(name || 'default')
}
 
exports.useLogger = function (app, logger) {//用来与express结合
    app.use(log4js.connectLogger(logger || log4js.getLogger('default'), {
    format: '[:remote-addr :method :url :status :response-timems][:referrer HTTP/:http-version :user-agent]'
        //自定义输出格式
    }))
}

使用:

const log4js= require('./log-config')
const logger = log4js.getLogger()//根据需要获取logger
const errlogger = log4js.getLogger('err')
const othlogger = log4js.getLogger('oth')
 
//结合express使用,记录请求日志
app = express()
log4js.useLogger(app,logger)//这样会自动记录每次请求信息,放在其他use上面
//手动记录,可以代替console.log
logger.info('test info 1')
errlogger.err('test error 1')
othlogger.info('test info 2')

以上就是如何查看node日志?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Node.js答疑