diff options
-rw-r--r-- | server.ts | 4 | ||||
-rw-r--r-- | server/tests/api/server/logs.ts | 31 | ||||
-rw-r--r-- | shared/extra-utils/server/servers.ts | 10 |
3 files changed, 41 insertions, 4 deletions
@@ -159,9 +159,7 @@ morgan.token('user-agent', (req: express.Request) => { | |||
159 | }) | 159 | }) |
160 | app.use(morgan('combined', { | 160 | app.use(morgan('combined', { |
161 | stream: { write: logger.info.bind(logger) }, | 161 | stream: { write: logger.info.bind(logger) }, |
162 | skip: function (req, res) { | 162 | skip: req => CONFIG.LOG.LOG_PING_REQUESTS === false && req.originalUrl === '/api/v1/ping' |
163 | return (req.path === '/api/v1/ping' && CONFIG.LOG.LOG_PING_REQUESTS === false) | ||
164 | }, | ||
165 | })) | 163 | })) |
166 | 164 | ||
167 | // For body requests | 165 | // For body requests |
diff --git a/server/tests/api/server/logs.ts b/server/tests/api/server/logs.ts index b8714c7a1..c458789b6 100644 --- a/server/tests/api/server/logs.ts +++ b/server/tests/api/server/logs.ts | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | import * as chai from 'chai' | 3 | import * as chai from 'chai' |
4 | import 'mocha' | 4 | import 'mocha' |
5 | import { cleanupTests, flushAndRunServer, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index' | 5 | import { cleanupTests, flushAndRunServer, killallServers, makeGetRequest, makePingRequest, reRunServer, ServerInfo, setAccessTokensToServers } from '../../../../shared/extra-utils/index' |
6 | import { waitJobs } from '../../../../shared/extra-utils/server/jobs' | 6 | import { waitJobs } from '../../../../shared/extra-utils/server/jobs' |
7 | import { uploadVideo } from '../../../../shared/extra-utils/videos/videos' | 7 | import { uploadVideo } from '../../../../shared/extra-utils/videos/videos' |
8 | import { getAuditLogs, getLogs } from '../../../../shared/extra-utils/logs/logs' | 8 | import { getAuditLogs, getLogs } from '../../../../shared/extra-utils/logs/logs' |
@@ -20,6 +20,7 @@ describe('Test logs', function () { | |||
20 | }) | 20 | }) |
21 | 21 | ||
22 | describe('With the standard log file', function () { | 22 | describe('With the standard log file', function () { |
23 | |||
23 | it('Should get logs with a start date', async function () { | 24 | it('Should get logs with a start date', async function () { |
24 | this.timeout(10000) | 25 | this.timeout(10000) |
25 | 26 | ||
@@ -84,6 +85,34 @@ describe('Test logs', function () { | |||
84 | expect(logsString.includes('video 6')).to.be.false | 85 | expect(logsString.includes('video 6')).to.be.false |
85 | } | 86 | } |
86 | }) | 87 | }) |
88 | |||
89 | it('Should log ping requests', async function () { | ||
90 | const now = new Date() | ||
91 | |||
92 | await makePingRequest(server) | ||
93 | |||
94 | const res = await getLogs(server.url, server.accessToken, now, undefined, 'info') | ||
95 | const logsString = JSON.stringify(res.body) | ||
96 | |||
97 | expect(logsString.includes('/api/v1/ping')).to.be.true | ||
98 | }) | ||
99 | |||
100 | it('Should not log ping requests', async function () { | ||
101 | this.timeout(30000) | ||
102 | |||
103 | killallServers([ server ]) | ||
104 | |||
105 | await reRunServer(server, { log: { log_ping_requests: false } }) | ||
106 | |||
107 | const now = new Date() | ||
108 | |||
109 | await makePingRequest(server) | ||
110 | |||
111 | const res = await getLogs(server.url, server.accessToken, now, undefined, 'info') | ||
112 | const logsString = JSON.stringify(res.body) | ||
113 | |||
114 | expect(logsString.includes('/api/v1/ping')).to.be.false | ||
115 | }) | ||
87 | }) | 116 | }) |
88 | 117 | ||
89 | describe('With the audit log', function () { | 118 | describe('With the audit log', function () { |
diff --git a/shared/extra-utils/server/servers.ts b/shared/extra-utils/server/servers.ts index 5e1de6ece..6ab7bee90 100644 --- a/shared/extra-utils/server/servers.ts +++ b/shared/extra-utils/server/servers.ts | |||
@@ -7,6 +7,7 @@ import { join } from 'path' | |||
7 | import { randomInt } from '../../core-utils/miscs/miscs' | 7 | import { randomInt } from '../../core-utils/miscs/miscs' |
8 | import { VideoChannel } from '../../models/videos' | 8 | import { VideoChannel } from '../../models/videos' |
9 | import { buildServerDirectory, getFileSize, isGithubCI, root, wait } from '../miscs/miscs' | 9 | import { buildServerDirectory, getFileSize, isGithubCI, root, wait } from '../miscs/miscs' |
10 | import { makeGetRequest } from '../requests/requests' | ||
10 | 11 | ||
11 | interface ServerInfo { | 12 | interface ServerInfo { |
12 | app: ChildProcess | 13 | app: ChildProcess |
@@ -347,6 +348,14 @@ async function getServerFileSize (server: ServerInfo, subPath: string) { | |||
347 | return getFileSize(path) | 348 | return getFileSize(path) |
348 | } | 349 | } |
349 | 350 | ||
351 | function makePingRequest (server: ServerInfo) { | ||
352 | return makeGetRequest({ | ||
353 | url: server.url, | ||
354 | path: '/api/v1/ping', | ||
355 | statusCodeExpected: 200 | ||
356 | }) | ||
357 | } | ||
358 | |||
350 | // --------------------------------------------------------------------------- | 359 | // --------------------------------------------------------------------------- |
351 | 360 | ||
352 | export { | 361 | export { |
@@ -358,6 +367,7 @@ export { | |||
358 | cleanupTests, | 367 | cleanupTests, |
359 | flushAndRunMultipleServers, | 368 | flushAndRunMultipleServers, |
360 | flushTests, | 369 | flushTests, |
370 | makePingRequest, | ||
361 | flushAndRunServer, | 371 | flushAndRunServer, |
362 | killallServers, | 372 | killallServers, |
363 | reRunServer, | 373 | reRunServer, |