亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

Nodejs Express 通過log4js寫日志到Logstash(ELK)

2024-05-06 16:45:53
字體:
來源:轉載
供稿:網友

Log4j 是一個使用 Java 語言編寫的,可靠、快速、靈活的日志框架(API),使用 Apache Software License 授權。它被移植到 C、C++、C#、Perl、Python、Ruby 和 Eiffel 語言中。

Log4j 是高度可配置的,在運行期使用外部的配置文件對其進行配置。它按照優先級別記錄日志,并可將日志信息定向輸出到各種介質,比如數據庫、文件、控制臺、Unix Syslog等。

Log4j 主要由三部分組成:

  • loggers:負責采集日志信息。
  • appenders:負責將日志信息發布到不同地方。
  • layouts:負責以各種風格格式化日志信息。

確認版本

 "dependencies": {  "body-parser": "1.18.3",  "compression": "1.7.2",  "cookie-parser": "1.4.3",  "ejs": "2.6.1",  "express": "4.16.3",  "forever": "0.15.3",  "http-proxy-middleware": "0.18.0",  "log4js": "2.9.0",  "log4js-logstash-tcp": "1.0.1",  "serve-favicon": "2.5.0" },

Logstash配置

  • 你需要知道logstash服務的IP和端口
  • 你需要知道寫日志是通過什么協議:TCP,還是UDP

在我向logstash寫日志之前,已經有同事向Logstash寫過日志了。當時只是知道logstash的ip和端口,沒有搞清楚協議,所以沒有寫進去。

logger

// filename: /logs/logger.jsvar log4js = require('log4js')// 獲取配置文件中logstash的IP地址和端口var {logHost, logPort} = require('../config/index.js') if (!logHost || !logPort) { console.log('ERROR not config logstash_host or logstash_port')}log4js.configure({ appenders: {  console: { type: 'console' },  logstash: {   // 因為我們的logstash暴露的是tcp寫日志的端口,所以我用了log4js-logstash-tcp,   // 這個需要安裝 https://github.com/Aigent/log4js-logstash-tcp   // 如果你的logstash使用UDP的,參考 https://github.com/log4js-node/logstashUDP   type: 'log4js-logstash-tcp',    host: logHost,   port: parseInt(logPort)  } }, categories: {  default: { appenders: ['logstash'], level: 'debug' } }})const logger = log4js.getLogger('default')

app.js

// filename: /app.jsvar express = require('express')var compression = require('compression')var path = require('path')var log4js = require('log4js')var proxyMiddleware = require('http-proxy-middleware')var cookieParser = require('cookie-parser')var logger = require('./logs/logger.js') // 這了引用了上面的loggervar {proxyTable, maxAge} = require('./config/index.js')...Object.keys(proxyTable).forEach(function (context) { if (!proxyTable[context].ws) {  // 這里我是用的反向代理,當代理響應時,開始寫日志  proxyTable[context].onProxyRes = writeLog } app.use(proxyMiddleware(context, proxyTable[context]))})...// 主要謝日日志的就是這里function writeLog (proxyRes, req, res) { var baseLog = `${req.method} ${proxyRes.statusCode} ${req.cookies.email} ${req.url}` var msgObj = {  method: req.method,  statusCode: proxyRes.statusCode,  url: req.url,  email: req.cookies.email || '',  sessionId: req.cookies.sessionId || '',  instanceId: 'newTm',  nodeName: 'newTm' } if (proxyRes.statusCode < 400) {  logger.info(baseLog, msgObj) } else {  logger.error(baseLog, msgObj) }}

在kibana中輸入關鍵詞:nodeName:newTm

可以搜到如下的記錄

{ "_index": "logstash-2018.07.11", "_type": "logs", "_id": "AWSIGyY0vR6RLdfU8xZj", "_score": null, "_source": {  "nodeName": "newTm",  "method": "GET",  "level": "INFO",  "sessionId": "",  "message": "GET 204 test.cc.com /api/touch?_=1531291286527",  "url": "/api/touch?_=1531291286527",  "@timestamp": "2018-07-11T06:53:29.059Z",  "port": 57250,  "@version": "1",  "host": "192.168.2.74",  "fields": {   "nodeName": "newTm",   "method": "GET",   "level": "INFO",   "sessionId": "",   "category": "default",   "url": "/api/touch?_=1531291286527",   "email": "test.cc.com",   "statusCode": 204  },  "category": "default",  "email": "test.cc.com",  "statusCode": 204 }, "fields": {  "@timestamp": [   1531292009059  ] }, "highlight": {  "nodeName": [   "@kibana-highlighted-field@newTm@/kibana-highlighted-field@"  ] }, "sort": [  1531292009059 ]}

注意

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲专区在线视频| 亚洲男人av在线| 伊人久久久久久久久久久| 日韩成人黄色av| 欧美成在线视频| 国产精品吹潮在线观看| 亚洲最大中文字幕| 亚洲二区在线播放视频| 国产在线视频2019最新视频| 午夜精品久久久久久久白皮肤| 欧美激情视频在线免费观看 欧美视频免费一| 在线丨暗呦小u女国产精品| 91av在线视频观看| 亚洲第一区中文字幕| www国产亚洲精品久久网站| 国内精品免费午夜毛片| 日韩一中文字幕| 精品自拍视频在线观看| 日韩精品免费在线视频观看| 国产美女高潮久久白浆| 美女精品久久久| 日韩欧美成人区| 一本色道久久88综合亚洲精品ⅰ| 欧美色道久久88综合亚洲精品| 亚洲成年人在线| 国产精品亚洲美女av网站| 色99之美女主播在线视频| 日韩精品免费在线视频观看| 欧美精品videossex性护士| 一区二区三区在线播放欧美| 久久香蕉频线观| 在线电影av不卡网址| 国产91色在线免费| 亚洲免费人成在线视频观看| 国产精品视频久| 国产成人avxxxxx在线看| 日韩中文字幕欧美| 久久伊人精品视频| 欧美日韩在线看| 日韩欧美中文字幕在线播放| 久久精品电影一区二区| 日日摸夜夜添一区| 97免费中文视频在线观看| 久久久久免费视频| 国产91精品久久久久久| 一色桃子一区二区| 欧美性猛交xxxx乱大交3| 亚洲欧美第一页| 欧美日韩一区二区免费在线观看| 日韩成人xxxx| 亚洲国产精品久久| 欧美刺激性大交免费视频| 中文字幕自拍vr一区二区三区| 日本高清不卡的在线| 欧美在线视频免费观看| 久久人人爽人人爽人人片av高请| 欧美猛男性生活免费| 日韩免费在线电影| 777国产偷窥盗摄精品视频| 91久久国产婷婷一区二区| 亚洲欧美日韩国产中文| 亚洲2020天天堂在线观看| 久久夜色精品国产亚洲aⅴ| 欧美疯狂性受xxxxx另类| 久久精品一偷一偷国产| 国产精品视频999| 亚洲综合在线小说| 九九热精品视频| 欧美精品999| 国产做受69高潮| 2019av中文字幕| 欧美丝袜一区二区| 成人免费激情视频| 欧美人与性动交a欧美精品| 日韩免费观看视频| 日本精品久久久久久久| 日韩风俗一区 二区| xvideos亚洲| 狠狠躁夜夜躁久久躁别揉| 91久久久在线| 成人免费网站在线| 欧美性猛交xxxx富婆| 欧洲中文字幕国产精品| 亚洲伦理中文字幕| 欧美性20hd另类| 亚洲欧美国产视频| 日韩成人av在线播放| 日韩不卡中文字幕| 国模私拍一区二区三区| 欧美性猛交xxxx| 国产精品综合网站| xxav国产精品美女主播| 久青草国产97香蕉在线视频| 精品久久中文字幕久久av| 九九热在线精品视频| 一本色道久久综合狠狠躁篇怎么玩| 久久久精品国产网站| 亚洲激情自拍图| 夜夜嗨av色综合久久久综合网| 中文字幕日韩在线视频| 亚洲成人av中文字幕| 韩国国内大量揄拍精品视频| 一区二区中文字幕| 亚洲美女视频网站| 亚洲人午夜精品免费| 亚洲人成在线电影| 亚洲第一区中文字幕| 国产精品视频不卡| 色999日韩欧美国产| 9.1国产丝袜在线观看| 国产精品久久久久久久久久久久| 亚洲精品久久在线| 最近2019年中文视频免费在线观看| 日韩av在线电影网| 国产精品视频专区| 国产成人精品视| 8x海外华人永久免费日韩内陆视频| 国产一区二区激情| 久久99精品国产99久久6尤物| 亚洲的天堂在线中文字幕| 亚洲第一精品电影| 国产乱人伦真实精品视频| 97色在线视频| 日韩大片免费观看视频播放| 亚洲肉体裸体xxxx137| 福利二区91精品bt7086| 中文字幕日韩精品有码视频| 色香阁99久久精品久久久| 在线观看91久久久久久| 中文综合在线观看| 亚洲国产精品高清久久久| 欧美黑人巨大精品一区二区| 亚洲性生活视频| 国产一区二区三区在线观看网站| 亚洲午夜性刺激影院| 国产成人午夜视频网址| 亚洲热线99精品视频| 亚洲xxxx妇黄裸体| 57pao成人国产永久免费| 一区二区三区美女xx视频| 一区二区欧美激情| 国产一区二区三区网站| 久久视频中文字幕| 国产精品视频区| 91综合免费在线| 国产精品免费视频xxxx| 中文字幕久热精品在线视频| 欧美性一区二区三区| 成人综合网网址| 欧美日韩国产在线播放| 久久久成人精品视频| 亚洲国产小视频| 国产ts一区二区| 久久精品久久久久电影| 亚洲韩国日本中文字幕| 日韩欧美a级成人黄色| 久久久久久亚洲精品中文字幕| 久久在精品线影院精品国产| 色妞在线综合亚洲欧美| 国产精品久久久久久久久久免费| 亚洲老头同性xxxxx| 91精品久久久久久久久不口人| 亚洲第一福利在线观看| 国产成+人+综合+亚洲欧洲|