@aws-amplify/core 4.4.2-api-logging.2 → 4.4.2-api-logging.4

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.
Files changed (41) hide show
  1. package/dist/aws-amplify-core.js +105 -168
  2. package/dist/aws-amplify-core.js.map +1 -1
  3. package/dist/aws-amplify-core.min.js +2 -2
  4. package/dist/aws-amplify-core.min.js.map +1 -1
  5. package/lib/Logger/ConsoleLogger.d.ts +2 -2
  6. package/lib/Logger/ConsoleLogger.js +16 -8
  7. package/lib/Logger/ConsoleLogger.js.map +1 -1
  8. package/lib/Providers/APIProvider/APILoggingProvider.d.ts +3 -3
  9. package/lib/Providers/APIProvider/APILoggingProvider.js +45 -36
  10. package/lib/Providers/APIProvider/APILoggingProvider.js.map +1 -1
  11. package/lib/Providers/APIProvider/CloudWatchEventFormatter.js +2 -2
  12. package/lib/Providers/APIProvider/CloudWatchEventFormatter.js.map +1 -1
  13. package/lib/Providers/APIProvider/Fetch.js +1 -1
  14. package/lib/Providers/APIProvider/Fetch.js.map +1 -1
  15. package/lib/Providers/AWSCloudWatchProvider.js +8 -1
  16. package/lib/Providers/AWSCloudWatchProvider.js.map +1 -1
  17. package/lib/types/types.d.ts +20 -8
  18. package/lib/types/types.js +4 -5
  19. package/lib/types/types.js.map +1 -1
  20. package/lib-esm/Logger/ConsoleLogger.d.ts +2 -2
  21. package/lib-esm/Logger/ConsoleLogger.js +16 -8
  22. package/lib-esm/Logger/ConsoleLogger.js.map +1 -1
  23. package/lib-esm/Providers/APIProvider/APILoggingProvider.d.ts +3 -3
  24. package/lib-esm/Providers/APIProvider/APILoggingProvider.js +46 -37
  25. package/lib-esm/Providers/APIProvider/APILoggingProvider.js.map +1 -1
  26. package/lib-esm/Providers/APIProvider/CloudWatchEventFormatter.js +2 -2
  27. package/lib-esm/Providers/APIProvider/CloudWatchEventFormatter.js.map +1 -1
  28. package/lib-esm/Providers/APIProvider/Fetch.js +1 -1
  29. package/lib-esm/Providers/APIProvider/Fetch.js.map +1 -1
  30. package/lib-esm/Providers/AWSCloudWatchProvider.js +8 -1
  31. package/lib-esm/Providers/AWSCloudWatchProvider.js.map +1 -1
  32. package/lib-esm/types/types.d.ts +20 -8
  33. package/lib-esm/types/types.js +3 -5
  34. package/lib-esm/types/types.js.map +1 -1
  35. package/package.json +2 -2
  36. package/src/Logger/ConsoleLogger.ts +19 -10
  37. package/src/Providers/APIProvider/APILoggingProvider.ts +45 -45
  38. package/src/Providers/APIProvider/CloudWatchEventFormatter.ts +5 -2
  39. package/src/Providers/APIProvider/Fetch.ts +1 -1
  40. package/src/Providers/AWSCloudWatchProvider.ts +9 -1
  41. package/src/types/types.ts +28 -10
@@ -218,7 +218,15 @@ class AWSCloudWatchProvider implements LoggingProvider {
218
218
 
219
219
  public pushLogs(logs: InputLogEvent[]): void {
220
220
  logger.debug('pushing log events to Cloudwatch...');
221
- this._dataTracker.logEvents = [...this._dataTracker.logEvents, ...logs];
221
+ const formattedLogs = logs.map(({ message, timestamp }) => ({
222
+ message,
223
+ timestamp,
224
+ }));
225
+
226
+ this._dataTracker.logEvents = [
227
+ ...this._dataTracker.logEvents,
228
+ ...formattedLogs,
229
+ ];
222
230
  }
223
231
 
224
232
  private async _validateLogGroupExistsAndCreate(
@@ -45,9 +45,6 @@ export interface LoggingProvider {
45
45
 
46
46
  // take logs and push to provider
47
47
  pushLogs?(logs: InputLogEvent[]): void;
48
-
49
- // push a single log event
50
- pushLog?(log: GenericLogEvent): void;
51
48
  }
52
49
 
53
50
  export interface AWSCloudWatchProviderOptions {
@@ -71,18 +68,39 @@ export interface APILoggingProviderOptions {
71
68
  level?: LOG_TYPE;
72
69
  excludeClassList?: string[];
73
70
  metadata?: { [key: string]: any };
74
- eventFormat?: EVENT_FORMAT;
75
71
  bufferInterval?: number;
76
72
  }
77
73
 
78
- export enum EVENT_FORMAT {
79
- GENERIC = 'GENERIC',
80
- CLOUDWATCH = 'CLOUDWATCH',
74
+ export interface LoggerEvent extends InputLogEvent {
75
+ loggerInfo?: {
76
+ level: string;
77
+ name: string;
78
+ data?: object;
79
+ error?: {
80
+ message: string;
81
+ name: string;
82
+ };
83
+ };
84
+ }
85
+
86
+ export function isLoggerEvent(
87
+ inputLogEvent: any
88
+ ): inputLogEvent is LoggerEvent {
89
+ return (
90
+ inputLogEvent && !!Object.keys(inputLogEvent).find(k => k === 'loggerInfo')
91
+ );
81
92
  }
93
+
82
94
  export interface GenericLogEvent {
83
95
  level: string;
84
- source: string;
85
- timestamp: number;
86
96
  message?: string;
87
- data?: object;
97
+ context: {
98
+ category: string;
99
+ logTime: number;
100
+ data?: object;
101
+ };
102
+ error?: {
103
+ errorMessage: string;
104
+ errorName: string;
105
+ };
88
106
  }