Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,5 @@ jobs:
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: TypeScript Test
run: npx --package typescript tsc --project test
- name: Install proper types and run TypeScript Test
run: npm install -D @types/node@${{ matrix.node }} && npx --package typescript tsc --project test
2 changes: 1 addition & 1 deletion lib/winston/transports/console.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@
* @param {Function} callback - TODO: add param description.
* @returns {undefined}
*/
log(info, callback) {

Check warning on line 52 in lib/winston/transports/console.js

View workflow job for this annotation

GitHub Actions / Tests (16)

Method 'log' has a complexity of 12. Maximum allowed is 11

Check warning on line 52 in lib/winston/transports/console.js

View workflow job for this annotation

GitHub Actions / Tests (16)

Method 'log' has too many statements (19). Maximum allowed is 15

Check warning on line 52 in lib/winston/transports/console.js

View workflow job for this annotation

GitHub Actions / Tests (20)

Method 'log' has a complexity of 12. Maximum allowed is 11

Check warning on line 52 in lib/winston/transports/console.js

View workflow job for this annotation

GitHub Actions / Tests (20)

Method 'log' has too many statements (19). Maximum allowed is 15

Check warning on line 52 in lib/winston/transports/console.js

View workflow job for this annotation

GitHub Actions / Tests (18)

Method 'log' has a complexity of 12. Maximum allowed is 11

Check warning on line 52 in lib/winston/transports/console.js

View workflow job for this annotation

GitHub Actions / Tests (18)

Method 'log' has too many statements (19). Maximum allowed is 15
setImmediate(() => this.emit('logged', info));
this.emit('logged', info);

// Remark: what if there is no raw...?
if (this.stderrLevels[info[LEVEL]]) {
Expand Down
121 changes: 120 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

73 changes: 49 additions & 24 deletions test/unit/winston/transports/error.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,59 +60,84 @@ describe('transports issue 1364', () => {
});

describe('log twice', () => {
beforeEach(() => {

it('should check transport after error occurs', (done) => {
errorMessage = mainError;
counter = 0;
maxCounter = 1;
logError = null;
transport = newTransport();
logger = winston.createLogger({
level: 'info',
transports: [transport]
});
logger.on('error', error => {
assume(counter).equals(1); // count calls to `log`
assume(error).is.a('error');
assume(error).property('message', mainError);
done(); // should be called only once
});
logger.info('log twice 1');
logger.info('log twice 2'); // this raises the `mainError` for the transport
});

it('logger transport has single correct transport', () => {
const transports = logger.transports;
assume(transports).is.an('array');
assume(transports).length(1);
assume(transports).contains(transport);
});

it('error occurred', () => {
assume(logError).property('message', mainError);
});
});

describe('log thrice', () => {
beforeEach(() => {

it('logger transport has single correct transport', (done) => {
errorMessage = mainError;
counter = 0;
maxCounter = 1;
logError = null;
transport = newTransport();
logger = winston.createLogger({
level: 'info',
transports: [transport]
});
logger.on('error', error => {
assume(error).is.a('error');
assume(error).property('message', mainError);
done();
});
logger.info('log thrice 1');
logger.info('log thrice 2'); // this raises the `mainError` for the transport
logger.info('log thrice 3');
});

it('logger transport has single correct transport', () => {
const transports = logger.transports;
assume(transports).is.an('array');
assume(transports).length(1);
assume(transports).contains(transport);
});

it('error occurred', () => {
assume(logError).property('message', mainError);
});
});

describe('log four times', () => {
beforeEach(() => {

it('logger transport has single correct transport', (done) => {
errorMessage = mainError;
counter = 0;
maxCounter = 1;
logError = null;
transport = newTransport();
logger = winston.createLogger({
level: 'info',
transports: [transport]
});
logger.on('error', error => {
assume(error).is.a('error');
assume(error).property('message', counter === 1 ? mainError : otherError);
done();
});
logger.info('log four times 1');
logger.info('log four times 2'); // this raises the `mainError` for the transport
logger.info('log four times 3');
logger.info('log four times 4'); // this raises the `otherError` for the transport
});

it('logger transport has single correct transport', () => {
const transports = logger.transports;
assume(transports).is.an('array');
assume(transports).length(1);
assume(transports).contains(transport);
});

it('other error occurred', () => {
assume(logError).property('message', otherError);
});
});
});
Loading