ionic-logging-service 18.0.0 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -21
- package/fesm2022/ionic-logging-service.mjs +47 -74
- package/fesm2022/ionic-logging-service.mjs.map +1 -1
- package/package.json +11 -9
- package/types/ionic-logging-service.d.ts +643 -0
- package/esm2022/ionic-logging-service.mjs +0 -5
- package/esm2022/lib/ajax-appender.configuration.mjs +0 -2
- package/esm2022/lib/ajax-appender.model.mjs +0 -149
- package/esm2022/lib/browser-console-appender.configuration.mjs +0 -2
- package/esm2022/lib/json-layout.model.mjs +0 -31
- package/esm2022/lib/local-storage-appender.configuration.mjs +0 -2
- package/esm2022/lib/local-storage-appender.model.mjs +0 -177
- package/esm2022/lib/log-level.converter.mjs +0 -92
- package/esm2022/lib/log-level.model.mjs +0 -47
- package/esm2022/lib/log-message.model.mjs +0 -2
- package/esm2022/lib/logger.model.mjs +0 -191
- package/esm2022/lib/logging-service.configuration.mjs +0 -2
- package/esm2022/lib/logging-service.module.mjs +0 -16
- package/esm2022/lib/logging.service.mjs +0 -167
- package/esm2022/lib/memory-appender.configuration.mjs +0 -2
- package/esm2022/lib/memory-appender.model.mjs +0 -133
- package/esm2022/public_api.mjs +0 -18
- package/index.d.ts +0 -5
- package/lib/ajax-appender.configuration.d.ts +0 -37
- package/lib/ajax-appender.model.d.ts +0 -92
- package/lib/browser-console-appender.configuration.d.ts +0 -13
- package/lib/json-layout.model.d.ts +0 -20
- package/lib/local-storage-appender.configuration.d.ts +0 -23
- package/lib/local-storage-appender.model.d.ts +0 -95
- package/lib/log-level.converter.d.ts +0 -28
- package/lib/log-level.model.d.ts +0 -37
- package/lib/log-message.model.d.ts +0 -25
- package/lib/logger.model.d.ts +0 -88
- package/lib/logging-service.configuration.d.ts +0 -40
- package/lib/logging-service.module.d.ts +0 -6
- package/lib/logging.service.d.ts +0 -84
- package/lib/memory-appender.configuration.d.ts +0 -19
- package/lib/memory-appender.model.d.ts +0 -81
- package/public_api.d.ts +0 -14
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# ionic-logging-service
|
|
2
2
|
|
|
3
|
-
**The dependencies used by the latest version are the same as needed for [Ionic
|
|
3
|
+
**The dependencies used by the latest version are the same as needed for [Ionic 8.0.0](https://github.com/ionic-team/ionic/blob/master/CHANGELOG.md). For older versions use:**
|
|
4
4
|
|
|
5
5
|
| ionic-logging-service | Ionic | Angular
|
|
6
6
|
| ------ | -------- | ------
|
|
7
|
+
| 22.0.0 | >= 8.0.0 | >=22.0.0
|
|
8
|
+
| 21.0.0 | >= 8.0.0 | >=21.0.0
|
|
7
9
|
| 18.0.0 | >= 7.0.0 | >=17.0.0
|
|
8
10
|
| 17.0.0 | >= 6.1.9 | ^16.0.0
|
|
9
11
|
| 16.0.0 | >= 6.1.9 | ^15.0.0
|
|
@@ -121,29 +123,18 @@ export const environment = {
|
|
|
121
123
|
};
|
|
122
124
|
```
|
|
123
125
|
|
|
124
|
-
Call `configure()` in your `app.
|
|
126
|
+
Call `configure()` in your `app.config.ts`:
|
|
125
127
|
|
|
126
128
|
```TypeScript
|
|
127
|
-
export
|
|
128
|
-
return () => loggingService.configure(environment.logging);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
@NgModule({
|
|
132
|
-
...
|
|
133
|
-
imports: [
|
|
134
|
-
...
|
|
135
|
-
LoggingServiceModule
|
|
136
|
-
],
|
|
129
|
+
export const appConfig: ApplicationConfig = {
|
|
137
130
|
providers: [
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
131
|
+
...
|
|
132
|
+
provideAppInitializer(() => {
|
|
133
|
+
const loggingService = inject(LoggingService);
|
|
134
|
+
loggingService.configure(environment.logging);
|
|
135
|
+
}),
|
|
144
136
|
]
|
|
145
|
-
}
|
|
146
|
-
export class AppModule { }
|
|
137
|
+
};
|
|
147
138
|
```
|
|
148
139
|
|
|
149
140
|
### logLevels
|
|
@@ -185,4 +176,4 @@ With `memoryAppender`, it is possible to configure the `MemoryAppender`, which k
|
|
|
185
176
|
|
|
186
177
|
## API
|
|
187
178
|
|
|
188
|
-
see [API documentation](https://ritzlgrmft.github.io/ionic-logging-service
|
|
179
|
+
see [API documentation](https://ritzlgrmft.github.io/ionic-logging-service/service/index.html).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { signal, Injectable } from '@angular/core';
|
|
3
3
|
import * as log4javascript from 'log4javascript';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -40,42 +40,34 @@ var LogLevel;
|
|
|
40
40
|
/**
|
|
41
41
|
* All events should be logged.
|
|
42
42
|
*/
|
|
43
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
44
43
|
LogLevel[LogLevel["ALL"] = 0] = "ALL";
|
|
45
44
|
/**
|
|
46
45
|
* A fine-grained debug message, typically capturing the flow through the application.
|
|
47
46
|
*/
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
49
47
|
LogLevel[LogLevel["TRACE"] = 1] = "TRACE";
|
|
50
48
|
/**
|
|
51
49
|
* A general debugging event.
|
|
52
50
|
*/
|
|
53
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
54
51
|
LogLevel[LogLevel["DEBUG"] = 2] = "DEBUG";
|
|
55
52
|
/**
|
|
56
53
|
* An event for informational purposes.
|
|
57
54
|
*/
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
59
55
|
LogLevel[LogLevel["INFO"] = 3] = "INFO";
|
|
60
56
|
/**
|
|
61
57
|
* An event that might possible lead to an error.
|
|
62
58
|
*/
|
|
63
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
64
59
|
LogLevel[LogLevel["WARN"] = 4] = "WARN";
|
|
65
60
|
/**
|
|
66
61
|
* An error in the application, possibly recoverable.
|
|
67
62
|
*/
|
|
68
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
69
63
|
LogLevel[LogLevel["ERROR"] = 5] = "ERROR";
|
|
70
64
|
/**
|
|
71
65
|
* A severe error that will prevent the application from continuing.
|
|
72
66
|
*/
|
|
73
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
74
67
|
LogLevel[LogLevel["FATAL"] = 6] = "FATAL";
|
|
75
68
|
/**
|
|
76
69
|
* No events will be logged.
|
|
77
70
|
*/
|
|
78
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
79
71
|
LogLevel[LogLevel["OFF"] = 7] = "OFF";
|
|
80
72
|
})(LogLevel || (LogLevel = {}));
|
|
81
73
|
|
|
@@ -194,6 +186,8 @@ class AjaxAppender extends log4javascript.Appender {
|
|
|
194
186
|
*/
|
|
195
187
|
constructor(configuration) {
|
|
196
188
|
super();
|
|
189
|
+
this.lastFailure = signal(undefined, /* @ts-ignore */
|
|
190
|
+
...(ngDevMode ? [{ debugName: "lastFailure" }] : /* istanbul ignore next */ []));
|
|
197
191
|
if (!configuration) {
|
|
198
192
|
throw new Error("configuration must be not empty");
|
|
199
193
|
}
|
|
@@ -202,13 +196,12 @@ class AjaxAppender extends log4javascript.Appender {
|
|
|
202
196
|
}
|
|
203
197
|
this.ajaxAppender = new log4javascript.AjaxAppender(configuration.url, configuration.withCredentials);
|
|
204
198
|
this.url = configuration.url;
|
|
205
|
-
this.withCredentials = configuration.withCredentials;
|
|
199
|
+
this.withCredentials = configuration.withCredentials ?? false;
|
|
206
200
|
this.ajaxAppender.setLayout(new JsonLayout(false, false));
|
|
207
201
|
this.ajaxAppender.addHeader("Content-Type", "application/json; charset=utf-8");
|
|
208
202
|
this.ajaxAppender.setSendAllOnUnload(true);
|
|
209
|
-
this.appenderFailed = new EventEmitter();
|
|
210
203
|
this.ajaxAppender.setFailCallback((message) => {
|
|
211
|
-
this.
|
|
204
|
+
this.lastFailure.set(message);
|
|
212
205
|
});
|
|
213
206
|
// process remaining configuration
|
|
214
207
|
this.configure({
|
|
@@ -312,6 +305,13 @@ class AjaxAppender extends log4javascript.Appender {
|
|
|
312
305
|
this.ajaxAppender.setTimed(timerInterval > 0);
|
|
313
306
|
this.ajaxAppender.setTimerInterval(timerInterval);
|
|
314
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* Last error message when the appender could not send log messages to the server.
|
|
310
|
+
* @returns error message
|
|
311
|
+
*/
|
|
312
|
+
getLastFailure() {
|
|
313
|
+
return this.lastFailure.asReadonly();
|
|
314
|
+
}
|
|
315
315
|
}
|
|
316
316
|
|
|
317
317
|
/**
|
|
@@ -340,6 +340,7 @@ class LocalStorageAppender extends log4javascript.Appender {
|
|
|
340
340
|
*/
|
|
341
341
|
constructor(configuration) {
|
|
342
342
|
super();
|
|
343
|
+
this.maxMessages = LocalStorageAppender.maxMessagesDefault;
|
|
343
344
|
if (!configuration) {
|
|
344
345
|
throw new Error("configuration must be not empty");
|
|
345
346
|
}
|
|
@@ -368,7 +369,7 @@ class LocalStorageAppender extends log4javascript.Appender {
|
|
|
368
369
|
logMessages = [];
|
|
369
370
|
}
|
|
370
371
|
else {
|
|
371
|
-
logMessages = JSON.parse(localStorage.getItem(localStorageKey));
|
|
372
|
+
logMessages = JSON.parse(localStorage.getItem(localStorageKey) ?? "");
|
|
372
373
|
for (const logMessage of logMessages) {
|
|
373
374
|
// timestamps are serialized as strings
|
|
374
375
|
logMessage.timeStamp = new Date(logMessage.timeStamp);
|
|
@@ -532,7 +533,7 @@ class Logger {
|
|
|
532
533
|
for (const param of params) {
|
|
533
534
|
args.push(this.formatArgument(param));
|
|
534
535
|
}
|
|
535
|
-
this.logger.trace
|
|
536
|
+
this.logger.trace(...args);
|
|
536
537
|
}
|
|
537
538
|
}
|
|
538
539
|
/**
|
|
@@ -547,7 +548,7 @@ class Logger {
|
|
|
547
548
|
for (const param of params) {
|
|
548
549
|
args.push(this.formatArgument(param));
|
|
549
550
|
}
|
|
550
|
-
this.logger.debug
|
|
551
|
+
this.logger.debug(...args);
|
|
551
552
|
}
|
|
552
553
|
}
|
|
553
554
|
/**
|
|
@@ -562,7 +563,7 @@ class Logger {
|
|
|
562
563
|
for (const param of params) {
|
|
563
564
|
args.push(this.formatArgument(param));
|
|
564
565
|
}
|
|
565
|
-
this.logger.info
|
|
566
|
+
this.logger.info(...args);
|
|
566
567
|
}
|
|
567
568
|
}
|
|
568
569
|
/**
|
|
@@ -577,7 +578,7 @@ class Logger {
|
|
|
577
578
|
for (const param of params) {
|
|
578
579
|
args.push(this.formatArgument(param));
|
|
579
580
|
}
|
|
580
|
-
this.logger.warn
|
|
581
|
+
this.logger.warn(...args);
|
|
581
582
|
}
|
|
582
583
|
}
|
|
583
584
|
/**
|
|
@@ -592,7 +593,7 @@ class Logger {
|
|
|
592
593
|
for (const param of params) {
|
|
593
594
|
args.push(this.formatArgument(param));
|
|
594
595
|
}
|
|
595
|
-
this.logger.error
|
|
596
|
+
this.logger.error(...args);
|
|
596
597
|
}
|
|
597
598
|
}
|
|
598
599
|
/**
|
|
@@ -607,7 +608,7 @@ class Logger {
|
|
|
607
608
|
for (const param of params) {
|
|
608
609
|
args.push(this.formatArgument(param));
|
|
609
610
|
}
|
|
610
|
-
this.logger.fatal
|
|
611
|
+
this.logger.fatal(...args);
|
|
611
612
|
}
|
|
612
613
|
}
|
|
613
614
|
/**
|
|
@@ -625,7 +626,7 @@ class Logger {
|
|
|
625
626
|
args.push(this.formatArgument(param));
|
|
626
627
|
}
|
|
627
628
|
}
|
|
628
|
-
this.logger.info
|
|
629
|
+
this.logger.info(...args);
|
|
629
630
|
}
|
|
630
631
|
}
|
|
631
632
|
/**
|
|
@@ -643,7 +644,7 @@ class Logger {
|
|
|
643
644
|
args.push(this.formatArgument(param));
|
|
644
645
|
}
|
|
645
646
|
}
|
|
646
|
-
this.logger.info
|
|
647
|
+
this.logger.info(...args);
|
|
647
648
|
}
|
|
648
649
|
}
|
|
649
650
|
/**
|
|
@@ -703,7 +704,8 @@ class MemoryAppender extends log4javascript.Appender {
|
|
|
703
704
|
*/
|
|
704
705
|
constructor(configuration) {
|
|
705
706
|
super();
|
|
706
|
-
this.logMessages = []
|
|
707
|
+
this.logMessages = signal([], /* @ts-ignore */
|
|
708
|
+
...(ngDevMode ? [{ debugName: "logMessages" }] : /* istanbul ignore next */ []));
|
|
707
709
|
// process configuration
|
|
708
710
|
configuration = configuration || {};
|
|
709
711
|
this.configure({
|
|
@@ -736,8 +738,8 @@ class MemoryAppender extends log4javascript.Appender {
|
|
|
736
738
|
*/
|
|
737
739
|
append(loggingEvent) {
|
|
738
740
|
// if logMessages is already full, remove oldest element
|
|
739
|
-
while (this.logMessages.length >= this.maxMessages) {
|
|
740
|
-
this.logMessages.
|
|
741
|
+
while (this.logMessages().length >= this.maxMessages) {
|
|
742
|
+
this.logMessages.update(messages => messages.slice(1));
|
|
741
743
|
}
|
|
742
744
|
// add event to logMessages
|
|
743
745
|
const message = {
|
|
@@ -747,11 +749,7 @@ class MemoryAppender extends log4javascript.Appender {
|
|
|
747
749
|
methodName: loggingEvent.messages[0],
|
|
748
750
|
timeStamp: loggingEvent.timeStamp,
|
|
749
751
|
};
|
|
750
|
-
this.logMessages.
|
|
751
|
-
// inform about new message
|
|
752
|
-
if (typeof this.onLogMessagesChangedCallback === "function") {
|
|
753
|
-
this.onLogMessagesChangedCallback(message);
|
|
754
|
-
}
|
|
752
|
+
this.logMessages.update(messages => [...messages, message]);
|
|
755
753
|
}
|
|
756
754
|
/**
|
|
757
755
|
* Gets the appender's name.
|
|
@@ -778,8 +776,8 @@ class MemoryAppender extends log4javascript.Appender {
|
|
|
778
776
|
setMaxMessages(value) {
|
|
779
777
|
this.maxMessages = value;
|
|
780
778
|
// if there are too much logMessages for the new value, remove oldest messages
|
|
781
|
-
if (this.logMessages.length > this.maxMessages) {
|
|
782
|
-
this.logMessages.
|
|
779
|
+
if (this.logMessages().length > this.maxMessages) {
|
|
780
|
+
this.logMessages.update(messages => messages.slice(this.logMessages().length - this.maxMessages));
|
|
783
781
|
}
|
|
784
782
|
}
|
|
785
783
|
/**
|
|
@@ -788,22 +786,13 @@ class MemoryAppender extends log4javascript.Appender {
|
|
|
788
786
|
* @return stored messages
|
|
789
787
|
*/
|
|
790
788
|
getLogMessages() {
|
|
791
|
-
return this.logMessages;
|
|
789
|
+
return this.logMessages.asReadonly();
|
|
792
790
|
}
|
|
793
791
|
/**
|
|
794
792
|
* Remove all messages stored in memory.
|
|
795
793
|
*/
|
|
796
794
|
removeLogMessages() {
|
|
797
|
-
this.logMessages.
|
|
798
|
-
}
|
|
799
|
-
/**
|
|
800
|
-
* Registers a callback which will be called every time a new message is appended.
|
|
801
|
-
* This could be useful if you want to show new messages in realtime.
|
|
802
|
-
*
|
|
803
|
-
* @param callback callback to be called
|
|
804
|
-
*/
|
|
805
|
-
setOnLogMessagesChangedCallback(callback) {
|
|
806
|
-
this.onLogMessagesChangedCallback = callback;
|
|
795
|
+
this.logMessages.set([]);
|
|
807
796
|
}
|
|
808
797
|
}
|
|
809
798
|
|
|
@@ -823,9 +812,6 @@ class LoggingService {
|
|
|
823
812
|
constructor() {
|
|
824
813
|
// prevent log4javascript to show alerts on case of errors
|
|
825
814
|
log4javascript.logLog.setQuietMode(true);
|
|
826
|
-
// create event emitter
|
|
827
|
-
this.logMessagesChanged = new EventEmitter();
|
|
828
|
-
this.ajaxAppenderFailed = new EventEmitter();
|
|
829
815
|
// configure appender
|
|
830
816
|
const logger = log4javascript.getRootLogger();
|
|
831
817
|
logger.setLevel(log4javascript.Level.WARN);
|
|
@@ -837,9 +823,6 @@ class LoggingService {
|
|
|
837
823
|
// in-memory appender for display on log messages page
|
|
838
824
|
this.memoryAppender = new MemoryAppender();
|
|
839
825
|
this.memoryAppender.setLayout(new log4javascript.PatternLayout("%d{HH:mm:ss,SSS} %c %m"));
|
|
840
|
-
this.memoryAppender.setOnLogMessagesChangedCallback((message) => {
|
|
841
|
-
this.logMessagesChanged.emit();
|
|
842
|
-
});
|
|
843
826
|
logger.addAppender(this.memoryAppender);
|
|
844
827
|
this.configure();
|
|
845
828
|
}
|
|
@@ -865,18 +848,15 @@ class LoggingService {
|
|
|
865
848
|
try {
|
|
866
849
|
logger.setLevel(LogLevelConverter.levelToLog4Javascript(LogLevelConverter.levelFromString(level.logLevel)));
|
|
867
850
|
}
|
|
868
|
-
catch
|
|
851
|
+
catch {
|
|
869
852
|
throw new Error(`invalid log level ${level.logLevel}`);
|
|
870
853
|
}
|
|
871
854
|
}
|
|
872
855
|
}
|
|
873
856
|
// configure AjaxAppender
|
|
874
857
|
if (typeof configuration.ajaxAppender !== "undefined") {
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
this.ajaxAppenderFailed.emit(message);
|
|
878
|
-
});
|
|
879
|
-
log4javascript.getRootLogger().addAppender(ajaxAppender);
|
|
858
|
+
this.ajaxAppender = new AjaxAppender(configuration.ajaxAppender);
|
|
859
|
+
log4javascript.getRootLogger().addAppender(this.ajaxAppender);
|
|
880
860
|
}
|
|
881
861
|
// configure LocalStorageAppender
|
|
882
862
|
if (typeof configuration.localStorageAppender !== "undefined") {
|
|
@@ -945,7 +925,6 @@ class LoggingService {
|
|
|
945
925
|
*/
|
|
946
926
|
removeLogMessages() {
|
|
947
927
|
this.memoryAppender.removeLogMessages();
|
|
948
|
-
this.logMessagesChanged.emit();
|
|
949
928
|
}
|
|
950
929
|
/**
|
|
951
930
|
* Removes the log messages written by the LocalStorageAppender with the given key.
|
|
@@ -954,32 +933,26 @@ class LoggingService {
|
|
|
954
933
|
*/
|
|
955
934
|
removeLogMessagesFromLocalStorage(localStorageKey) {
|
|
956
935
|
LocalStorageAppender.removeLogMessages(localStorageKey);
|
|
957
|
-
this.logMessagesChanged.emit();
|
|
958
936
|
}
|
|
959
|
-
|
|
960
|
-
|
|
937
|
+
/**
|
|
938
|
+
* Error messages when the ajax appender could not send log messages to the server.
|
|
939
|
+
* @returns error messages
|
|
940
|
+
*/
|
|
941
|
+
getLastAjaxAppenderFailure() {
|
|
942
|
+
return this.ajaxAppender
|
|
943
|
+
? this.ajaxAppender.getLastFailure()
|
|
944
|
+
: signal(undefined).asReadonly();
|
|
945
|
+
}
|
|
946
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: LoggingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
947
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: LoggingService, providedIn: "root" }); }
|
|
961
948
|
}
|
|
962
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
949
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: LoggingService, decorators: [{
|
|
963
950
|
type: Injectable,
|
|
964
951
|
args: [{
|
|
965
952
|
providedIn: "root"
|
|
966
953
|
}]
|
|
967
954
|
}], ctorParameters: () => [] });
|
|
968
955
|
|
|
969
|
-
class LoggingServiceModule {
|
|
970
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoggingServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
971
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: LoggingServiceModule }); }
|
|
972
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoggingServiceModule }); }
|
|
973
|
-
}
|
|
974
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LoggingServiceModule, decorators: [{
|
|
975
|
-
type: NgModule,
|
|
976
|
-
args: [{
|
|
977
|
-
imports: [],
|
|
978
|
-
declarations: [],
|
|
979
|
-
exports: []
|
|
980
|
-
}]
|
|
981
|
-
}] });
|
|
982
|
-
|
|
983
956
|
/*
|
|
984
957
|
* Public API Surface of ionic-logging-service.
|
|
985
958
|
*/
|
|
@@ -988,5 +961,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
988
961
|
* Generated bundle index. Do not edit.
|
|
989
962
|
*/
|
|
990
963
|
|
|
991
|
-
export { AjaxAppender, LocalStorageAppender, LogLevel, LogLevelConverter, Logger, LoggingService,
|
|
964
|
+
export { AjaxAppender, LocalStorageAppender, LogLevel, LogLevelConverter, Logger, LoggingService, MemoryAppender };
|
|
992
965
|
//# sourceMappingURL=ionic-logging-service.mjs.map
|