Skip to content

Commit

Permalink
Fix: Logger print JSON and Numbers (parse-community#5916)
Browse files Browse the repository at this point in the history
* Fix: Logger print JSON and Numbers

* fix test
  • Loading branch information
dplewis authored and davimacedo committed Aug 14, 2019
1 parent 7937412 commit 700d2fa
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 2 deletions.
2 changes: 1 addition & 1 deletion spec/FilesController.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ describe('FilesController', () => {
expect(log1.level).toBe('error');

const log2 = logs.find(
x => x.message === 'Parse error: Could not store file: yolo.txt.'
x => x.message === 'Could not store file: yolo.txt.'
);
expect(log2.level).toBe('error');
expect(log2.code).toBe(130);
Expand Down
98 changes: 98 additions & 0 deletions spec/WinstonLoggerAdapter.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,38 @@ describe('info logs', () => {
);
expect(log);
});

it('info logs should interpolate json', async () => {
const winstonLoggerAdapter = new WinstonLoggerAdapter();
winstonLoggerAdapter.log('info', 'testing info logs with %j', { hello: 'world' });
const results = await winstonLoggerAdapter.query({
from: new Date(Date.now() - 500),
size: 100,
level: 'info',
order: 'desc',
});
expect(results.length > 0).toBeTruthy();
const log = results.find(
x => x.message === 'testing info logs with {"hello":"world"}'
);
expect(log);
});

it('info logs should interpolate number', async () => {
const winstonLoggerAdapter = new WinstonLoggerAdapter();
winstonLoggerAdapter.log('info', 'testing info logs with %d', 123);
const results = await winstonLoggerAdapter.query({
from: new Date(Date.now() - 500),
size: 100,
level: 'info',
order: 'desc',
});
expect(results.length > 0).toBeTruthy();
const log = results.find(
x => x.message === 'testing info logs with 123'
);
expect(log);
});
});

describe('error logs', () => {
Expand Down Expand Up @@ -113,6 +145,38 @@ describe('error logs', () => {
);
expect(log);
});

it('error logs should interpolate json', async () => {
const winstonLoggerAdapter = new WinstonLoggerAdapter();
winstonLoggerAdapter.log('error', 'testing error logs with %j', { hello: 'world' });
const results = await winstonLoggerAdapter.query({
from: new Date(Date.now() - 500),
size: 100,
level: 'error',
order: 'desc',
});
expect(results.length > 0).toBeTruthy();
const log = results.find(
x => x.message === 'testing error logs with {"hello":"world"}'
);
expect(log);
});

it('error logs should interpolate number', async () => {
const winstonLoggerAdapter = new WinstonLoggerAdapter();
winstonLoggerAdapter.log('error', 'testing error logs with %d', 123);
const results = await winstonLoggerAdapter.query({
from: new Date(Date.now() - 500),
size: 100,
level: 'error',
order: 'desc',
});
expect(results.length > 0).toBeTruthy();
const log = results.find(
x => x.message === 'testing error logs with 123'
);
expect(log);
});
});

describe('verbose logs', () => {
Expand Down Expand Up @@ -180,4 +244,38 @@ describe('verbose logs', () => {
);
expect(log);
});

it('verbose logs should interpolate json', async () => {
await reconfigureServer({ verbose: true });
const winstonLoggerAdapter = new WinstonLoggerAdapter();
winstonLoggerAdapter.log('verbose', 'testing verbose logs with %j', { hello: 'world' });
const results = await winstonLoggerAdapter.query({
from: new Date(Date.now() - 500),
size: 100,
level: 'verbose',
order: 'desc',
});
expect(results.length > 0).toBeTruthy();
const log = results.find(
x => x.message === 'testing verbose logs with {"hello":"world"}'
);
expect(log);
});

it('verbose logs should interpolate number', async () => {
await reconfigureServer({ verbose: true });
const winstonLoggerAdapter = new WinstonLoggerAdapter();
winstonLoggerAdapter.log('verbose', 'testing verbose logs with %d', 123);
const results = await winstonLoggerAdapter.query({
from: new Date(Date.now() - 500),
size: 100,
level: 'verbose',
order: 'desc',
});
expect(results.length > 0).toBeTruthy();
const log = results.find(
x => x.message === 'testing verbose logs with 123'
);
expect(log);
});
});
2 changes: 1 addition & 1 deletion src/Adapters/Logger/WinstonLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function configureTransports(options) {
{
filename: 'parse-server.info',
json: true,
format: format.combine(format.timestamp(), format.json()),
format: format.combine(format.timestamp(), format.splat(), format.json()),
},
options
)
Expand Down

0 comments on commit 700d2fa

Please sign in to comment.