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

Commit 1992b47

Browse files
author
Alec Gibson
committed
Move logger config out of Backend constructor
Configuring a package-level logger through an instance constructor is a bit weird and potentially unexpected. This change moves the backend logger configuration to the static level, similar to how it's already set up for the client. Configuration at static level should indicate that these changes will apply across all backend instances.
1 parent 002c4c2 commit 1992b47

File tree

3 files changed

+10
-13
lines changed

3 files changed

+10
-13
lines changed

README.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -186,15 +186,14 @@ Note that only the [JSON0 OT type](https://github.com/ottypes/json0) is supporte
186186

187187
By default, ShareDB logs to `console`. This can be overridden if you wish to silence logs, or to log to your own logging driver or alert service.
188188

189-
Methods can be overridden by passing a [`console`-like object](https://developer.mozilla.org/en-US/docs/Web/API/console) to `Backend`:
189+
Methods can be overridden by passing a [`console`-like object](https://developer.mozilla.org/en-US/docs/Web/API/console) to `logger.setMethods`:
190190

191191
```javascript
192-
var share = new Backend({
193-
logger: {
194-
info: () => {}, // Silence info
195-
warn: () => alerts.warn(arguments), // Forward warnings to alerting service
196-
error: () => alerts.critical(arguments) // Remap errors to critical alerts
197-
}
192+
var ShareDB = require('sharedb');
193+
ShareDB.logger.setMethods({
194+
info: () => {}, // Silence info
195+
warn: () => alerts.warn(arguments), // Forward warnings to alerting service
196+
error: () => alerts.critical(arguments) // Remap errors to critical alerts
198197
});
199198
```
200199

@@ -389,9 +388,9 @@ Methods can be overridden by passing a [`console`-like object](https://developer
389388
```javascript
390389
var ShareDB = require('sharedb/lib/client');
391390
ShareDB.logger.setMethods({
392-
info: () => {}, // Silence info
393-
warn: () => alerts.warn(arguments), // Forward warnings to alerting service
394-
error: () => alerts.critical(arguments) // Remap errors to critical alerts
391+
info: () => {}, // Silence info
392+
warn: () => alerts.warn(arguments), // Forward warnings to alerting service
393+
error: () => alerts.critical(arguments) // Remap errors to critical alerts
395394
});
396395
```
397396

lib/backend.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ var async = require('async');
22
var Agent = require('./agent');
33
var Connection = require('./client/connection');
44
var emitter = require('./emitter');
5-
var logger = require('./logger');
65
var MemoryDB = require('./db/memory');
76
var NoOpMilestoneDB = require('./milestone-db/no-op');
87
var MemoryPubSub = require('./pubsub/memory');
@@ -41,8 +40,6 @@ function Backend(options) {
4140
this.agentsCount = 0;
4241
this.remoteAgentsCount = 0;
4342

44-
logger.setMethods(options.logger);
45-
4643
// The below shims are for backwards compatibility. These options will be
4744
// removed in a future major version
4845
if (!options.disableDocAction) {

lib/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Backend.Agent = require('./agent');
55
Backend.Backend = Backend;
66
Backend.DB = require('./db');
77
Backend.Error = require('./error');
8+
Backend.logger = require('./logger');
89
Backend.MemoryDB = require('./db/memory');
910
Backend.MemoryMilestoneDB = require('./milestone-db/memory');
1011
Backend.MemoryPubSub = require('./pubsub/memory');

0 commit comments

Comments
 (0)