Skip to content
This repository was archived by the owner on Sep 4, 2024. It is now read-only.

Commit 8e4f1e7

Browse files
committed
chore(logging): switch to debug package for logging
considering loopback core uses it
1 parent 94f9db1 commit 8e4f1e7

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

package-lock.json

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
"@loopback/rest": "^12.0.4"
5050
},
5151
"dependencies": {
52+
"debug": "^4.3.4",
5253
"sequelize": "^6.25.2",
5354
"tslib": "^2.0.0"
5455
},

src/sequelize/sequelize.datasource.base.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
import {LifeCycleObserver} from '@loopback/core';
22
import {AnyObject, juggler} from '@loopback/repository';
3+
import debugFactory from 'debug';
34
import {Options as SequelizeOptions, Sequelize} from 'sequelize';
45
import {
56
SupportedConnectorMapping as supportedConnectorMapping,
67
SupportedLoopbackConnectors,
78
} from './connector-mapping';
89

10+
const debug = debugFactory('loopback:sequelize:datasource');
11+
const queryLogging = debugFactory('loopback:sequelize:queries');
12+
913
export class SequelizeDataSource
1014
extends juggler.DataSource
1115
implements LifeCycleObserver
@@ -29,6 +33,7 @@ export class SequelizeDataSource
2933
async init(): Promise<void> {
3034
const connector = this.config.connector;
3135
const storage = this.config.file;
36+
3237
this.sequelize = new Sequelize({
3338
database: this.config.database,
3439
...(connector ? {dialect: supportedConnectorMapping[connector]} : {}),
@@ -37,17 +42,18 @@ export class SequelizeDataSource
3742
port: this.config.port,
3843
username: this.config.user ?? this.config.username,
3944
password: this.config.password,
40-
logging: false,
45+
logging: queryLogging,
4146
});
47+
4248
try {
4349
await this.sequelize.authenticate();
44-
console.log('Connection has been established successfully.');
50+
debug('Connection has been established successfully.');
4551
} catch (error) {
4652
console.error('Unable to connect to the database:', error);
4753
}
4854
}
4955
stop() {
50-
this.sequelize?.close?.().catch(console.log);
56+
this.sequelize?.close?.().catch(console.error);
5157
}
5258
}
5359

src/sequelize/sequelize.repository.base.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
PropertyDefinition,
1212
Where,
1313
} from '@loopback/repository';
14+
import debugFactory from 'debug';
1415
import {
1516
Attributes,
1617
DataType,
@@ -31,6 +32,7 @@ import {operatorTranslations} from './operator-translation';
3132
import {SequelizeDataSource} from './sequelize.datasource.base';
3233
import {SequelizeModel} from './sequelize.model';
3334
import {isTruelyObject} from './utils';
35+
const debug = debugFactory('loopback:sequelize:repository');
3436

3537
/**
3638
* Default `order` filter style if only column name is specified
@@ -358,6 +360,11 @@ export class SequelizeRepository<
358360
},
359361
);
360362

363+
debug(
364+
'Table name supplied to sequelize',
365+
this.entityClass.modelName.toLowerCase(),
366+
);
367+
361368
return this.dataSource.sequelize.models[this.entityClass.modelName];
362369
}
363370

@@ -368,7 +375,7 @@ export class SequelizeRepository<
368375
async syncSequelizeModel(options: SyncOptions = {}) {
369376
await this.dataSource.sequelize?.models[this.entityClass.modelName]
370377
.sync(options)
371-
.catch(console.log);
378+
.catch(console.error);
372379
}
373380

374381
/**
@@ -410,6 +417,8 @@ export class SequelizeRepository<
410417

411418
sequelizeDefinition[propName] = columnOptions;
412419
}
420+
421+
debug('Sequelize model definition', sequelizeDefinition);
413422
return sequelizeDefinition;
414423
}
415424

0 commit comments

Comments
 (0)