Skip to content

Commit 470bb23

Browse files
dplewisdavimacedo
authored andcommitted
Fix: Logger print JSON and Numbers (#5916)
* Fix: Logger print JSON and Numbers * fix test
1 parent 4c1be61 commit 470bb23

File tree

3 files changed

+100
-2
lines changed

3 files changed

+100
-2
lines changed

spec/FilesController.spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ describe('FilesController', () => {
6565
expect(log1.level).toBe('error');
6666

6767
const log2 = logs.find(
68-
x => x.message === 'Parse error: Could not store file: yolo.txt.'
68+
x => x.message === 'Could not store file: yolo.txt.'
6969
);
7070
expect(log2.level).toBe('error');
7171
expect(log2.code).toBe(130);

spec/WinstonLoggerAdapter.spec.js

+98
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,38 @@ describe('info logs', () => {
5959
);
6060
expect(log);
6161
});
62+
63+
it('info logs should interpolate json', async () => {
64+
const winstonLoggerAdapter = new WinstonLoggerAdapter();
65+
winstonLoggerAdapter.log('info', 'testing info logs with %j', { hello: 'world' });
66+
const results = await winstonLoggerAdapter.query({
67+
from: new Date(Date.now() - 500),
68+
size: 100,
69+
level: 'info',
70+
order: 'desc',
71+
});
72+
expect(results.length > 0).toBeTruthy();
73+
const log = results.find(
74+
x => x.message === 'testing info logs with {"hello":"world"}'
75+
);
76+
expect(log);
77+
});
78+
79+
it('info logs should interpolate number', async () => {
80+
const winstonLoggerAdapter = new WinstonLoggerAdapter();
81+
winstonLoggerAdapter.log('info', 'testing info logs with %d', 123);
82+
const results = await winstonLoggerAdapter.query({
83+
from: new Date(Date.now() - 500),
84+
size: 100,
85+
level: 'info',
86+
order: 'desc',
87+
});
88+
expect(results.length > 0).toBeTruthy();
89+
const log = results.find(
90+
x => x.message === 'testing info logs with 123'
91+
);
92+
expect(log);
93+
});
6294
});
6395

6496
describe('error logs', () => {
@@ -113,6 +145,38 @@ describe('error logs', () => {
113145
);
114146
expect(log);
115147
});
148+
149+
it('error logs should interpolate json', async () => {
150+
const winstonLoggerAdapter = new WinstonLoggerAdapter();
151+
winstonLoggerAdapter.log('error', 'testing error logs with %j', { hello: 'world' });
152+
const results = await winstonLoggerAdapter.query({
153+
from: new Date(Date.now() - 500),
154+
size: 100,
155+
level: 'error',
156+
order: 'desc',
157+
});
158+
expect(results.length > 0).toBeTruthy();
159+
const log = results.find(
160+
x => x.message === 'testing error logs with {"hello":"world"}'
161+
);
162+
expect(log);
163+
});
164+
165+
it('error logs should interpolate number', async () => {
166+
const winstonLoggerAdapter = new WinstonLoggerAdapter();
167+
winstonLoggerAdapter.log('error', 'testing error logs with %d', 123);
168+
const results = await winstonLoggerAdapter.query({
169+
from: new Date(Date.now() - 500),
170+
size: 100,
171+
level: 'error',
172+
order: 'desc',
173+
});
174+
expect(results.length > 0).toBeTruthy();
175+
const log = results.find(
176+
x => x.message === 'testing error logs with 123'
177+
);
178+
expect(log);
179+
});
116180
});
117181

118182
describe('verbose logs', () => {
@@ -180,4 +244,38 @@ describe('verbose logs', () => {
180244
);
181245
expect(log);
182246
});
247+
248+
it('verbose logs should interpolate json', async () => {
249+
await reconfigureServer({ verbose: true });
250+
const winstonLoggerAdapter = new WinstonLoggerAdapter();
251+
winstonLoggerAdapter.log('verbose', 'testing verbose logs with %j', { hello: 'world' });
252+
const results = await winstonLoggerAdapter.query({
253+
from: new Date(Date.now() - 500),
254+
size: 100,
255+
level: 'verbose',
256+
order: 'desc',
257+
});
258+
expect(results.length > 0).toBeTruthy();
259+
const log = results.find(
260+
x => x.message === 'testing verbose logs with {"hello":"world"}'
261+
);
262+
expect(log);
263+
});
264+
265+
it('verbose logs should interpolate number', async () => {
266+
await reconfigureServer({ verbose: true });
267+
const winstonLoggerAdapter = new WinstonLoggerAdapter();
268+
winstonLoggerAdapter.log('verbose', 'testing verbose logs with %d', 123);
269+
const results = await winstonLoggerAdapter.query({
270+
from: new Date(Date.now() - 500),
271+
size: 100,
272+
level: 'verbose',
273+
order: 'desc',
274+
});
275+
expect(results.length > 0).toBeTruthy();
276+
const log = results.find(
277+
x => x.message === 'testing verbose logs with 123'
278+
);
279+
expect(log);
280+
});
183281
});

src/Adapters/Logger/WinstonLogger.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ function configureTransports(options) {
1919
{
2020
filename: 'parse-server.info',
2121
json: true,
22-
format: format.combine(format.timestamp(), format.json()),
22+
format: format.combine(format.timestamp(), format.splat(), format.json()),
2323
},
2424
options
2525
)

0 commit comments

Comments
 (0)