Skip to content

Commit 950339f

Browse files
committed
(#371) Added log output to provider registry
1 parent 3ac4aa7 commit 950339f

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

lib/provider/provider-registry.class.ts

+23-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import ImageReaderImpl from "./io/jimp-image-reader.class";
1818
import ImageWriterImpl from "./io/jimp-image-writer.class";
1919
import ImageProcessorImpl from "./image/jimp-image-processor.class";
2020
import {LogProviderInterface, wrapLogger} from "./log-provider.interface";
21+
import { NoopLogProvider } from "./io/noop-log-provider.class";
2122

2223
export interface ProviderRegistry {
2324
getClipboard(): ClipboardProviderInterface;
@@ -75,113 +76,133 @@ class DefaultProviderRegistry implements ProviderRegistry {
7576

7677
getClipboard(): ClipboardProviderInterface {
7778
if (this._clipboard) {
79+
this.getLogProvider().debug("Fetching clipboard provider");
7880
return this._clipboard;
7981
}
8082
throw new Error(`No ClipboardProvider registered`);
8183
}
8284

8385
registerClipboardProvider(value: ClipboardProviderInterface) {
8486
this._clipboard = value;
87+
this.getLogProvider().info("Registered new clipboard provider", value);
8588
}
8689

8790
getImageFinder(): ImageFinderInterface {
8891
if (this._finder) {
92+
this.getLogProvider().debug("Fetching image finder");
8993
return this._finder;
9094
}
9195
throw new Error(`No ImageFinder registered`);
9296
}
9397

9498
registerImageFinder(value: ImageFinderInterface) {
9599
this._finder = value;
100+
this.getLogProvider().info("Registered new image finder", value);
96101
}
97102

98103
getKeyboard(): KeyboardProviderInterface {
99104
if (this._keyboard) {
105+
this.getLogProvider().debug("Fetching keyboard provider");
100106
return this._keyboard;
101107
}
102108
throw new Error(`No KeyboardProvider registered`);
103109
}
104110

105111
registerKeyboardProvider(value: KeyboardProviderInterface) {
106112
this._keyboard = value;
113+
this.getLogProvider().info("Registered new keyboard provider", value);
107114
}
108115

109116
getMouse(): MouseProviderInterface {
110117
if (this._mouse) {
118+
this.getLogProvider().debug("Fetching mouse provider");
111119
return this._mouse;
112120
}
113121
throw new Error(`No MouseProvider registered`);
114122
}
115123

116124
registerMouseProvider(value: MouseProviderInterface) {
117125
this._mouse = value;
126+
this.getLogProvider().info("Registered new mouse provider", value);
118127
}
119128

120129
getScreen(): ScreenProviderInterface {
121130
if (this._screen) {
131+
this.getLogProvider().debug("Fetching screen provider");
122132
return this._screen;
123133
}
124134
throw new Error(`No ScreenProvider registered`);
125135
}
126136

127137
registerScreenProvider(value: ScreenProviderInterface) {
128138
this._screen = value;
139+
this.getLogProvider().info("Registered new screen provider", value);
129140
}
130141

131142
getWindow(): WindowProviderInterface {
132143
if (this._window) {
144+
this.getLogProvider().debug("Fetching window provider");
133145
return this._window;
134146
}
135147
throw new Error(`No WindowProvider registered`);
136148
}
137149

138150
registerWindowProvider(value: WindowProviderInterface) {
139151
this._window = value;
152+
this.getLogProvider().info("Registered new window provider", value);
140153
}
141154

142155
getImageReader(): ImageReader {
143156
if (this._imageReader) {
157+
this.getLogProvider().debug("Fetching image reader");
144158
return this._imageReader;
145159
}
146160
throw new Error(`No ImageReader registered`);
147161
}
148162

149163
registerImageReader(value: ImageReader) {
150164
this._imageReader = value;
165+
this.getLogProvider().info("Registered new image reader", value);
151166
}
152167

153168
getImageWriter(): ImageWriter {
154169
if (this._imageWriter) {
170+
this.getLogProvider().debug("Fetching image writer");
155171
return this._imageWriter;
156172
}
157173
throw new Error(`No ImageWriter registered`);
158174
}
159175

160176
registerImageWriter(value: ImageWriter) {
161177
this._imageWriter = value;
178+
this.getLogProvider().info("Registered new image writer", value);
162179
}
163180

164181
getImageProcessor(): ImageProcessor {
165182
if (this._imageProcessor) {
183+
this.getLogProvider().debug("Fetching image processor");
166184
return this._imageProcessor;
167185
}
168186
throw new Error(`No ImageProcessor registered`);
169187
}
170188

171189
registerImageProcessor(value: ImageProcessor): void {
172190
this._imageProcessor = value;
191+
this.getLogProvider().info("Registered new image processor", value);
173192
}
174193

175194
getLogProvider(): LogProviderInterface {
176195
if (this._logProvider) {
177196
return this._logProvider;
178197
}
179198

180-
throw new Error(`No log provider registered`);
199+
// Fallback to avoid errors caused by logging
200+
return new NoopLogProvider();
181201
}
182202

183203
registerLogProvider(value: LogProviderInterface): void {
184204
this._logProvider = wrapLogger(value);
205+
this.getLogProvider().info("Registered new log provider", value);
185206
}
186207
}
187208

@@ -195,5 +216,6 @@ providerRegistry.registerWindowProvider(new Window());
195216
providerRegistry.registerImageWriter(new ImageWriterImpl());
196217
providerRegistry.registerImageReader(new ImageReaderImpl());
197218
providerRegistry.registerImageProcessor(new ImageProcessorImpl());
219+
providerRegistry.registerLogProvider(new NoopLogProvider());
198220

199221
export default providerRegistry;

0 commit comments

Comments
 (0)