[英]express gateway log every request
我想記錄快速網關收到的每一個請求,但似乎我無法決定記錄什么。
我試圖從https://github.com/expressjs/morgan整合morgan('immediate')
/* Create a sub app */
const subApp = express();
subApp.use(registration({ container }));
subApp.use(guestRequest({ container }));
subApp.use(statistics({ container }));
subApp.use(deleteUser({ container }));
subApp.use(relationRequest({ container }));
subApp.use('/docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument, options));
subApp.use(morgan('immediate'))
subApp.use(cors({ origin: true, credentials: true }));
subApp.set('view engine', 'ejs');
subApp.set('views', viewsPath);
但看起來它沒有被使用。
任何人成功地在快速網關中集成了高級登錄?
我也試過 Longjohn 和同樣的問題。
您可以使用開箱即用的 Express Gateway 執行此操作。
首先,為所有請求定義一個 apiEndpoint:
apiEndpoints:
all:
host: "*"
paths: "*"
然后,設置一個管道來記錄所有命中此 apiEndpoint 的請求:
policies:
log
pipelines:
logRequest:
apiEndpoints:
- all
policies:
- log
- action:
message: "{req.method} {req.originalUrl} ${JSON.stringify(req.headers)}"
如果您需要記錄更多,請考慮使用環境變量啟用 Express Gateway 和/或 Express 診斷日志記錄:
LOG_LEVEL=debug
(用於 Express 網關)DEBUG=express:*
(對於 Express.js)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.