Skip to content

Commit 4d2eb6e

Browse files
authored
chore(logging): unify cloudWatch client errors and rename client (#4270)
1 parent 9e22ef4 commit 4d2eb6e

51 files changed

Lines changed: 214 additions & 139 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/unit_test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
AWSPluginsCore,
7171
AWSAPIPlugin,
7272
AWSCloudWatchLoggingPlugin,
73-
AmplifyCloudWatchLoggingClient,
73+
AmplifyCloudWatchClient,
7474
AWSCognitoAuthPlugin,
7575
AWSDataStorePlugin,
7676
AmplifyRecordCache,
@@ -103,7 +103,7 @@ jobs:
103103
{ scheme: AWSPluginsCore, flags: 'AWSPluginsCore,unit_tests' },
104104
{ scheme: AWSAPIPlugin, flags: 'API_plugin_unit_test,unit_tests' },
105105
{ scheme: AWSCloudWatchLoggingPlugin, flags: 'Logging_plugin_unit_test,unit_tests' },
106-
{ scheme: AmplifyCloudWatchLoggingClient, flags: 'CloudWatchLogging_client_unit_test,unit_tests' },
106+
{ scheme: AmplifyCloudWatchClient, flags: 'CloudWatchLogging_client_unit_test,unit_tests' },
107107
{ scheme: AWSCognitoAuthPlugin, flags: 'Auth_plugin_unit_test,unit_tests' },
108108
{ scheme: AWSDataStorePlugin, flags: 'DataStore_plugin_unit_test,unit_tests' },
109109
{ scheme: AmplifyRecordCache, flags: 'RecordCache_unit_test,unit_tests' },

.swiftpm/xcode/xcshareddata/xcschemes/Amplify-Package.xcscheme

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,34 @@
580580
ReferencedContainer = "container:">
581581
</BuildableReference>
582582
</BuildActionEntry>
583+
<BuildActionEntry
584+
buildForTesting = "YES"
585+
buildForRunning = "YES"
586+
buildForProfiling = "YES"
587+
buildForArchiving = "YES"
588+
buildForAnalyzing = "YES">
589+
<BuildableReference
590+
BuildableIdentifier = "primary"
591+
BlueprintIdentifier = "AmplifyEventEnrichmentClient"
592+
BuildableName = "AmplifyEventEnrichmentClient"
593+
BlueprintName = "AmplifyEventEnrichmentClient"
594+
ReferencedContainer = "container:">
595+
</BuildableReference>
596+
</BuildActionEntry>
597+
<BuildActionEntry
598+
buildForTesting = "YES"
599+
buildForRunning = "YES"
600+
buildForProfiling = "YES"
601+
buildForArchiving = "YES"
602+
buildForAnalyzing = "YES">
603+
<BuildableReference
604+
BuildableIdentifier = "primary"
605+
BlueprintIdentifier = "AmplifyCloudWatchClient"
606+
BuildableName = "AmplifyCloudWatchClient"
607+
BlueprintName = "AmplifyCloudWatchClient"
608+
ReferencedContainer = "container:">
609+
</BuildableReference>
610+
</BuildActionEntry>
583611
</BuildActionEntries>
584612
</BuildAction>
585613
<TestAction
@@ -919,6 +947,26 @@
919947
ReferencedContainer = "container:">
920948
</BuildableReference>
921949
</TestableReference>
950+
<TestableReference
951+
skipped = "NO">
952+
<BuildableReference
953+
BuildableIdentifier = "primary"
954+
BlueprintIdentifier = "AmplifyEventEnrichmentClientTests"
955+
BuildableName = "AmplifyEventEnrichmentClientTests"
956+
BlueprintName = "AmplifyEventEnrichmentClientTests"
957+
ReferencedContainer = "container:">
958+
</BuildableReference>
959+
</TestableReference>
960+
<TestableReference
961+
skipped = "NO">
962+
<BuildableReference
963+
BuildableIdentifier = "primary"
964+
BlueprintIdentifier = "AmplifyCloudWatchClientTests"
965+
BuildableName = "AmplifyCloudWatchClientTests"
966+
BlueprintName = "AmplifyCloudWatchClientTests"
967+
ReferencedContainer = "container:">
968+
</BuildableReference>
969+
</TestableReference>
922970
</Testables>
923971
</TestAction>
924972
<LaunchAction

.swiftpm/xcode/xcshareddata/xcschemes/AmplifyCloudWatchLoggingClient.xcscheme renamed to .swiftpm/xcode/xcshareddata/xcschemes/AmplifyCloudWatchClient.xcscheme

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
buildForAnalyzing = "YES">
1616
<BuildableReference
1717
BuildableIdentifier = "primary"
18-
BlueprintIdentifier = "AmplifyCloudWatchLoggingClient"
19-
BuildableName = "AmplifyCloudWatchLoggingClient"
20-
BlueprintName = "AmplifyCloudWatchLoggingClient"
18+
BlueprintIdentifier = "AmplifyCloudWatchClient"
19+
BuildableName = "AmplifyCloudWatchClient"
20+
BlueprintName = "AmplifyCloudWatchClient"
2121
ReferencedContainer = "container:">
2222
</BuildableReference>
2323
</BuildActionEntry>
@@ -29,9 +29,9 @@
2929
buildForAnalyzing = "YES">
3030
<BuildableReference
3131
BuildableIdentifier = "primary"
32-
BlueprintIdentifier = "AmplifyCloudWatchLoggingClientTests"
33-
BuildableName = "AmplifyCloudWatchLoggingClientTests"
34-
BlueprintName = "AmplifyCloudWatchLoggingClientTests"
32+
BlueprintIdentifier = "AmplifyCloudWatchClientTests"
33+
BuildableName = "AmplifyCloudWatchClientTests"
34+
BlueprintName = "AmplifyCloudWatchClientTests"
3535
ReferencedContainer = "container:">
3636
</BuildableReference>
3737
</BuildActionEntry>
@@ -44,7 +44,7 @@
4444
shouldUseLaunchSchemeArgsEnv = "YES">
4545
<TestPlans>
4646
<TestPlanReference
47-
reference = "container:AmplifyClients/AmplifyCloudWatchLoggingClient/AmplifyCloudWatchLoggingClient.xctestplan"
47+
reference = "container:AmplifyClients/AmplifyCloudWatchClient/AmplifyCloudWatchClient.xctestplan"
4848
default = "YES">
4949
</TestPlanReference>
5050
</TestPlans>
@@ -69,9 +69,9 @@
6969
<MacroExpansion>
7070
<BuildableReference
7171
BuildableIdentifier = "primary"
72-
BlueprintIdentifier = "AmplifyCloudWatchLoggingClient"
73-
BuildableName = "AmplifyCloudWatchLoggingClient"
74-
BlueprintName = "AmplifyCloudWatchLoggingClient"
72+
BlueprintIdentifier = "AmplifyCloudWatchClient"
73+
BuildableName = "AmplifyCloudWatchClient"
74+
BlueprintName = "AmplifyCloudWatchClient"
7575
ReferencedContainer = "container:">
7676
</BuildableReference>
7777
</MacroExpansion>

AmplifyClients/AmplifyCloudWatchLoggingClient/AmplifyCloudWatchLoggingClient.xctestplan renamed to AmplifyClients/AmplifyCloudWatchClient/AmplifyCloudWatchClient.xctestplan

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
{
1616
"target" : {
1717
"containerPath" : "container:",
18-
"identifier" : "AmplifyCloudWatchLoggingClientTests",
19-
"name" : "AmplifyCloudWatchLoggingClientTests"
18+
"identifier" : "AmplifyCloudWatchClientTests",
19+
"name" : "AmplifyCloudWatchClientTests"
2020
}
2121
}
2222
],

AmplifyClients/AmplifyCloudWatchLoggingClient/Sources/AmplifyCloudWatchLoggingClient.swift renamed to AmplifyClients/AmplifyCloudWatchClient/Sources/AmplifyCloudWatchClient.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import SmithyIdentity
1616

1717
/// A closure for customizing the underlying `CloudWatchLogsClient` configuration.
1818
@_spi(AmplifyExperimental)
19-
public typealias AmplifyCloudWatchLoggingClientConfigurationProvider = (
19+
public typealias AmplifyCloudWatchClientConfigurationProvider = (
2020
inout AWSCloudWatchLogs.CloudWatchLogsClient.CloudWatchLogsClientConfig
2121
) -> Void
2222

@@ -35,7 +35,7 @@ public typealias AmplifyCloudWatchLoggingClientConfigurationProvider = (
3535
///
3636
/// Example usage:
3737
/// ```swift
38-
/// let loggingClient = AmplifyCloudWatchLoggingClient(
38+
/// let loggingClient = AmplifyCloudWatchClient(
3939
/// region: "us-east-1",
4040
/// credentialsProvider: credentialsProvider,
4141
/// options: .init(logGroupName: "/app/my-ios-app")
@@ -51,7 +51,7 @@ public typealias AmplifyCloudWatchLoggingClientConfigurationProvider = (
5151
/// ```
5252
@available(iOS 13.0, macOS 12.0, tvOS 13.0, watchOS 9.0, *)
5353
@_spi(AmplifyExperimental)
54-
public final class AmplifyCloudWatchLoggingClient: AmplifyFoundation.LogSinkBehavior, @unchecked Sendable {
54+
public final class AmplifyCloudWatchClient: AmplifyFoundation.LogSinkBehavior, @unchecked Sendable {
5555

5656
private var enabled: Bool = true
5757

@@ -64,7 +64,7 @@ public final class AmplifyCloudWatchLoggingClient: AmplifyFoundation.LogSinkBeha
6464
private let logFilter: CloudWatchLoggingFilter
6565
private var userIdentifier: String?
6666
private let networkMonitor: LoggingNetworkMonitor
67-
private let logger = AmplifyFoundation.AmplifyLogging.logger(for: AmplifyCloudWatchLoggingClient.self)
67+
private let logger = AmplifyFoundation.AmplifyLogging.logger(for: AmplifyCloudWatchClient.self)
6868
private let eventSubject = PassthroughSubject<LoggingEvent, Never>()
6969
private let cloudWatchClient: CloudWatchLogsClientProtocol
7070

@@ -88,20 +88,20 @@ public final class AmplifyCloudWatchLoggingClient: AmplifyFoundation.LogSinkBeha
8888
controller.log(message.level, message.content, message.error)
8989
}
9090

91-
/// Configuration options for AmplifyCloudWatchLoggingClient.
91+
/// Configuration options for AmplifyCloudWatchClient.
9292
public struct Options {
9393
public let logGroupName: String
9494
public let localStoreMaxSizeInMB: Int
9595
public let flushStrategy: FlushStrategy
9696
public let loggingConstraints: LoggingConstraints
97-
public let configureClient: AmplifyCloudWatchLoggingClientConfigurationProvider?
97+
public let configureClient: AmplifyCloudWatchClientConfigurationProvider?
9898

9999
public init(
100100
logGroupName: String,
101101
localStoreMaxSizeInMB: Int = 5,
102102
flushStrategy: FlushStrategy = .interval(),
103103
loggingConstraints: LoggingConstraints = LoggingConstraints(),
104-
configureClient: AmplifyCloudWatchLoggingClientConfigurationProvider? = nil
104+
configureClient: AmplifyCloudWatchClientConfigurationProvider? = nil
105105
) {
106106
self.logGroupName = logGroupName
107107
self.localStoreMaxSizeInMB = localStoreMaxSizeInMB
@@ -111,7 +111,7 @@ public final class AmplifyCloudWatchLoggingClient: AmplifyFoundation.LogSinkBeha
111111
}
112112
}
113113

114-
/// Initializes a new AmplifyCloudWatchLoggingClient instance.
114+
/// Initializes a new AmplifyCloudWatchClient instance.
115115
public init(
116116
region: String,
117117
credentialsProvider: any AmplifyFoundation.AWSCredentialsProvider,
@@ -185,7 +185,7 @@ public final class AmplifyCloudWatchLoggingClient: AmplifyFoundation.LogSinkBeha
185185
/// Returns the underlying AWS CloudWatch Logs SDK client.
186186
public func getCloudWatchLogsClient() throws -> AWSCloudWatchLogs.CloudWatchLogsClient {
187187
guard let client = cloudWatchClient as? AWSCloudWatchLogs.CloudWatchLogsClient else {
188-
throw CloudWatchLoggingError.configuration(
188+
throw CloudWatchError.configuration(
189189
"CloudWatch Logs client is not the expected type",
190190
"This is an internal error. Please file a bug report."
191191
)
@@ -267,7 +267,7 @@ private extension NSLock {
267267
// MARK: - CloudWatchLoggingMonitorDelegate
268268

269269
@available(iOS 13.0, macOS 12.0, tvOS 13.0, watchOS 9.0, *)
270-
extension AmplifyCloudWatchLoggingClient: CloudWatchLoggingMonitorDelegate {
270+
extension AmplifyCloudWatchClient: CloudWatchLoggingMonitorDelegate {
271271
func handleAutomaticFlushIntervalEvent() {
272272
Task { [weak self] in
273273
try await self?.flushLogs()

AmplifyClients/AmplifyCloudWatchLoggingClient/Sources/CloudWatchLoggingError.swift renamed to AmplifyClients/AmplifyCloudWatchClient/Sources/CloudWatchError.swift

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import AmplifyFoundation
99
import Foundation
1010

11-
/// Represents domain-specific errors within the AmplifyCloudWatchLoggingClient subsystem.
11+
/// Represents domain-specific errors within the AmplifyCloudWatchClient subsystem.
1212
@_spi(AmplifyExperimental)
13-
public enum CloudWatchLoggingError: AmplifyError {
13+
public enum CloudWatchError: AmplifyError {
1414
/// Local file I/O or rotation error.
1515
case storage(ErrorDescription, RecoverySuggestion, Error? = nil)
1616
/// CloudWatch API call failed.
@@ -61,15 +61,4 @@ public enum CloudWatchLoggingError: AmplifyError {
6161
self = .unknown(errorDescription, recoverySuggestion, error)
6262
}
6363
}
64-
65-
static func from(_ error: Error) -> CloudWatchLoggingError {
66-
if let loggingError = error as? CloudWatchLoggingError {
67-
return loggingError
68-
}
69-
return .unknown(
70-
"An unknown error occurred",
71-
defaultRecoverySuggestion,
72-
error
73-
)
74-
}
7564
}

AmplifyClients/AmplifyCloudWatchLoggingClient/Sources/CloudWatchLoggingSession.swift renamed to AmplifyClients/AmplifyCloudWatchClient/Sources/CloudWatchLoggingSession.swift

File renamed without changes.

AmplifyClients/AmplifyCloudWatchLoggingClient/Sources/CloudWatchLoggingSessionController.swift renamed to AmplifyClients/AmplifyCloudWatchClient/Sources/CloudWatchLoggingSessionController.swift

File renamed without changes.

AmplifyClients/AmplifyCloudWatchLoggingClient/Sources/CloudWatchLogsClientProtocol.swift renamed to AmplifyClients/AmplifyCloudWatchClient/Sources/CloudWatchLogsClientProtocol.swift

File renamed without changes.

AmplifyClients/AmplifyCloudWatchLoggingClient/Sources/Configuration/LoggingConstraints.swift renamed to AmplifyClients/AmplifyCloudWatchClient/Sources/Configuration/LoggingConstraints.swift

File renamed without changes.

0 commit comments

Comments
 (0)