Skip to content

Commit dc882cc

Browse files
authored
Merge pull request #3 from jnewc/feature/swift-4.1
Feature/swift 4.1
2 parents 7f89e03 + ae5ac69 commit dc882cc

File tree

20 files changed

+262
-262
lines changed

20 files changed

+262
-262
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ xcuserdata/
2525
*.xccheckout
2626
*.xcscmblueprint
2727
.cocoapods-store.yml
28+
.DS_Store

Cosmic.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ Pod::Spec.new do |s|
2424

2525
s.source_files = "ObjC-Sources/**/*.swift", "Sources/**/*.swift"
2626

27-
s.dependency "BlueSocket", "~> 0.12.0"
27+
s.dependency "BlueSocket", "~> 1.0"
2828

2929
end

Cosmic.xcodeproj/project.pbxproj

Lines changed: 21 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
0409989C2085354800DBD481 /* LambdaLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0409989B2085354800DBD481 /* LambdaLogger.swift */; };
11+
0409989E2085362600DBD481 /* LamdaLoggerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0409989D2085362600DBD481 /* LamdaLoggerTests.swift */; };
1012
0411F6EE1EFF256200BE872F /* MockURLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411F6EC1EFF256200BE872F /* MockURLSession.swift */; };
1113
0411F6EF1EFF256200BE872F /* RegularExpressionAsserts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411F6ED1EFF256200BE872F /* RegularExpressionAsserts.swift */; };
1214
0411F6F11F02F5CC00BE872F /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411F6F01F02F5CC00BE872F /* Debug.swift */; };
1315
0411F6F31F03097B00BE872F /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411F6F21F03097B00BE872F /* Operators.swift */; };
16+
04126BF320868AAF00A4059D /* UniversalSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04126BF220868AAF00A4059D /* UniversalSocket.swift */; };
1417
041DF8081E88547100934C76 /* Cosmic.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 041DF7FE1E88547100934C76 /* Cosmic.framework */; };
1518
043F76D1A753AD879F5C9903 /* Pods_CosmicTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81958AC61E937B08DB5441EA /* Pods_CosmicTests.framework */; };
1619
0441B8CE1F116CC20088A851 /* LoggerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0441B8CD1F116CC20088A851 /* LoggerTests.swift */; };
@@ -40,7 +43,7 @@
4043
04A4A93D1EFB1FD200EBD44E /* LogOutputStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A9161EFB1FBA00EBD44E /* LogOutputStream.swift */; };
4144
04A4A93E1EFB1FD200EBD44E /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A9171EFB1FBA00EBD44E /* Logger.swift */; };
4245
04A4A93F1EFB1FD200EBD44E /* LogReporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A9181EFB1FBA00EBD44E /* LogReporter.swift */; };
43-
04A4A9401EFB1FD200EBD44E /* BlockFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A91B1EFB1FBA00EBD44E /* BlockFormatter.swift */; };
46+
04A4A9401EFB1FD200EBD44E /* CompletionFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A91B1EFB1FBA00EBD44E /* CompletionFormatter.swift */; };
4447
04A4A9421EFB1FD200EBD44E /* JSONFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A91D1EFB1FBA00EBD44E /* JSONFormatter.swift */; };
4548
04A4A9431EFB1FD200EBD44E /* CompositeLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A9201EFB1FBA00EBD44E /* CompositeLogger.swift */; };
4649
04A4A9441EFB1FD200EBD44E /* HTTPLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A4A9211EFB1FBA00EBD44E /* HTTPLogger.swift */; };
@@ -64,13 +67,15 @@
6467
/* End PBXContainerItemProxy section */
6568

6669
/* Begin PBXFileReference section */
70+
0409989B2085354800DBD481 /* LambdaLogger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LambdaLogger.swift; sourceTree = "<group>"; };
71+
0409989D2085362600DBD481 /* LamdaLoggerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LamdaLoggerTests.swift; sourceTree = "<group>"; };
6772
0411F6EC1EFF256200BE872F /* MockURLSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockURLSession.swift; sourceTree = "<group>"; };
6873
0411F6ED1EFF256200BE872F /* RegularExpressionAsserts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RegularExpressionAsserts.swift; sourceTree = "<group>"; };
6974
0411F6F01F02F5CC00BE872F /* Debug.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Debug.swift; sourceTree = "<group>"; };
7075
0411F6F21F03097B00BE872F /* Operators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Operators.swift; sourceTree = "<group>"; };
76+
04126BF220868AAF00A4059D /* UniversalSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UniversalSocket.swift; sourceTree = "<group>"; };
7177
041DF7FE1E88547100934C76 /* Cosmic.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cosmic.framework; sourceTree = BUILT_PRODUCTS_DIR; };
7278
041DF8071E88547100934C76 /* CosmicTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CosmicTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
73-
041DF8681E89975300934C76 /* LoggerPlayground.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = LoggerPlayground.playground; sourceTree = "<group>"; };
7479
0441B8CD1F116CC20088A851 /* LoggerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoggerTests.swift; sourceTree = "<group>"; };
7580
046BDDB11F058CC4008F1C1C /* SyslogFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SyslogFormatter.swift; sourceTree = "<group>"; };
7681
046BDDB31F058CEB008F1C1C /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = "<group>"; };
@@ -99,7 +104,7 @@
99104
04A4A9171EFB1FBA00EBD44E /* Logger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = Logger.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
100105
04A4A9181EFB1FBA00EBD44E /* LogReporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogReporter.swift; sourceTree = "<group>"; };
101106
04A4A9191EFB1FBA00EBD44E /* cosmic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cosmic.h; sourceTree = "<group>"; };
102-
04A4A91B1EFB1FBA00EBD44E /* BlockFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlockFormatter.swift; sourceTree = "<group>"; };
107+
04A4A91B1EFB1FBA00EBD44E /* CompletionFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompletionFormatter.swift; sourceTree = "<group>"; };
103108
04A4A91D1EFB1FBA00EBD44E /* JSONFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSONFormatter.swift; sourceTree = "<group>"; };
104109
04A4A91E1EFB1FBA00EBD44E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
105110
04A4A9201EFB1FBA00EBD44E /* CompositeLogger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = CompositeLogger.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
@@ -153,7 +158,6 @@
153158
children = (
154159
04A4A9101EFB1FBA00EBD44E /* Sources */,
155160
049F00DC1EFED30C00BD9E41 /* Tests */,
156-
041DF8671E89973B00934C76 /* cosmicPlaygrounds */,
157161
041DF7FF1E88547100934C76 /* Products */,
158162
048C4CB550C15323CCA41E99 /* Pods */,
159163
BE6EB05743C15C1B28CA232F /* Frameworks */,
@@ -169,14 +173,6 @@
169173
name = Products;
170174
sourceTree = "<group>";
171175
};
172-
041DF8671E89973B00934C76 /* cosmicPlaygrounds */ = {
173-
isa = PBXGroup;
174-
children = (
175-
041DF8681E89975300934C76 /* LoggerPlayground.playground */,
176-
);
177-
path = cosmicPlaygrounds;
178-
sourceTree = "<group>";
179-
};
180176
048C4CB550C15323CCA41E99 /* Pods */ = {
181177
isa = PBXGroup;
182178
children = (
@@ -234,6 +230,8 @@
234230
048F15231F1A64AA009ED8F1 /* LogFilterTests.swift */,
235231
04F559D71F2281EF0048F2E0 /* LogMetadataTests.swift */,
236232
049489231FB4F35500533B46 /* ExtensionsTests.swift */,
233+
0409989D2085362600DBD481 /* LamdaLoggerTests.swift */,
234+
04126BF220868AAF00A4059D /* UniversalSocket.swift */,
237235
);
238236
path = CosmicTests;
239237
sourceTree = "<group>";
@@ -277,7 +275,7 @@
277275
04A4A91A1EFB1FBA00EBD44E /* Formatters */ = {
278276
isa = PBXGroup;
279277
children = (
280-
04A4A91B1EFB1FBA00EBD44E /* BlockFormatter.swift */,
278+
04A4A91B1EFB1FBA00EBD44E /* CompletionFormatter.swift */,
281279
04A4A91D1EFB1FBA00EBD44E /* JSONFormatter.swift */,
282280
046BDDB11F058CC4008F1C1C /* SyslogFormatter.swift */,
283281
);
@@ -291,6 +289,7 @@
291289
04A4A9211EFB1FBA00EBD44E /* HTTPLogger.swift */,
292290
04A4A9221EFB1FBA00EBD44E /* MemoryLogger.swift */,
293291
04A4A9231EFB1FBA00EBD44E /* PrintLogger.swift */,
292+
0409989B2085354800DBD481 /* LambdaLogger.swift */,
294293
);
295294
path = Loggers;
296295
sourceTree = "<group>";
@@ -340,7 +339,6 @@
340339
041DF7FA1E88547000934C76 /* Frameworks */,
341340
041DF7FB1E88547000934C76 /* Headers */,
342341
041DF7FC1E88547000934C76 /* Resources */,
343-
5E445A188BAF473BC30095C6 /* [CP] Copy Pods Resources */,
344342
);
345343
buildRules = (
346344
);
@@ -359,7 +357,6 @@
359357
041DF8031E88547100934C76 /* Sources */,
360358
041DF8041E88547100934C76 /* Frameworks */,
361359
71948139AF87D9015C26E530 /* [CP] Embed Pods Frameworks */,
362-
1420E216F67AF38F908F0A18 /* [CP] Copy Pods Resources */,
363360
);
364361
buildRules = (
365362
);
@@ -378,7 +375,7 @@
378375
isa = PBXProject;
379376
attributes = {
380377
LastSwiftUpdateCheck = 0820;
381-
LastUpgradeCheck = 0910;
378+
LastUpgradeCheck = 0930;
382379
ORGANIZATIONNAME = "Jack Newcombe";
383380
TargetAttributes = {
384381
041DF7FD1E88547000934C76 = {
@@ -422,36 +419,6 @@
422419
/* End PBXResourcesBuildPhase section */
423420

424421
/* Begin PBXShellScriptBuildPhase section */
425-
1420E216F67AF38F908F0A18 /* [CP] Copy Pods Resources */ = {
426-
isa = PBXShellScriptBuildPhase;
427-
buildActionMask = 2147483647;
428-
files = (
429-
);
430-
inputPaths = (
431-
);
432-
name = "[CP] Copy Pods Resources";
433-
outputPaths = (
434-
);
435-
runOnlyForDeploymentPostprocessing = 0;
436-
shellPath = /bin/sh;
437-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CosmicTests/Pods-CosmicTests-resources.sh\"\n";
438-
showEnvVarsInLog = 0;
439-
};
440-
5E445A188BAF473BC30095C6 /* [CP] Copy Pods Resources */ = {
441-
isa = PBXShellScriptBuildPhase;
442-
buildActionMask = 2147483647;
443-
files = (
444-
);
445-
inputPaths = (
446-
);
447-
name = "[CP] Copy Pods Resources";
448-
outputPaths = (
449-
);
450-
runOnlyForDeploymentPostprocessing = 0;
451-
shellPath = /bin/sh;
452-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Cosmic/Pods-Cosmic-resources.sh\"\n";
453-
showEnvVarsInLog = 0;
454-
};
455422
71948139AF87D9015C26E530 /* [CP] Embed Pods Frameworks */ = {
456423
isa = PBXShellScriptBuildPhase;
457424
buildActionMask = 2147483647;
@@ -521,6 +488,7 @@
521488
04A4A93F1EFB1FD200EBD44E /* LogReporter.swift in Sources */,
522489
04A4A9451EFB1FD200EBD44E /* MemoryLogger.swift in Sources */,
523490
04A4A9421EFB1FD200EBD44E /* JSONFormatter.swift in Sources */,
491+
0409989C2085354800DBD481 /* LambdaLogger.swift in Sources */,
524492
04A4A93E1EFB1FD200EBD44E /* Logger.swift in Sources */,
525493
048F151A1F16C57E009ED8F1 /* LogzLogger.swift in Sources */,
526494
04A4A93C1EFB1FD200EBD44E /* LogLevel.swift in Sources */,
@@ -534,7 +502,7 @@
534502
048F151B1F16C57E009ED8F1 /* PapertrailLogger.swift in Sources */,
535503
04A4A93D1EFB1FD200EBD44E /* LogOutputStream.swift in Sources */,
536504
048F151E1F1973EA009ED8F1 /* LogFilter.swift in Sources */,
537-
04A4A9401EFB1FD200EBD44E /* BlockFormatter.swift in Sources */,
505+
04A4A9401EFB1FD200EBD44E /* CompletionFormatter.swift in Sources */,
538506
048F15191F16C57E009ED8F1 /* LogItLogger.swift in Sources */,
539507
0411F6F11F02F5CC00BE872F /* Debug.swift in Sources */,
540508
04A4A9461EFB1FD200EBD44E /* PrintLogger.swift in Sources */,
@@ -548,7 +516,9 @@
548516
048F15241F1A64AA009ED8F1 /* LogFilterTests.swift in Sources */,
549517
049F00E91EFED30C00BD9E41 /* FormatterTests.swift in Sources */,
550518
048F15271F1A6C54009ED8F1 /* LogItLoggerTests.swift in Sources */,
519+
0409989E2085362600DBD481 /* LamdaLoggerTests.swift in Sources */,
551520
049F00EC1EFED30C00BD9E41 /* LogReporterTests.swift in Sources */,
521+
04126BF320868AAF00A4059D /* UniversalSocket.swift in Sources */,
552522
04FCF0FF1F115EE500505A5F /* OperatorsTests.swift in Sources */,
553523
049F00F71EFF0CCA00BD9E41 /* PrintLoggerTests.swift in Sources */,
554524
049F00E81EFED30C00BD9E41 /* CompositeLoggerTests.swift in Sources */,
@@ -587,13 +557,15 @@
587557
CLANG_WARN_BOOL_CONVERSION = YES;
588558
CLANG_WARN_COMMA = YES;
589559
CLANG_WARN_CONSTANT_CONVERSION = YES;
560+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
590561
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
591562
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
592563
CLANG_WARN_EMPTY_BODY = YES;
593564
CLANG_WARN_ENUM_CONVERSION = YES;
594565
CLANG_WARN_INFINITE_RECURSION = YES;
595566
CLANG_WARN_INT_CONVERSION = YES;
596567
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
568+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
597569
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
598570
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
599571
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -646,13 +618,15 @@
646618
CLANG_WARN_BOOL_CONVERSION = YES;
647619
CLANG_WARN_COMMA = YES;
648620
CLANG_WARN_CONSTANT_CONVERSION = YES;
621+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
649622
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
650623
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
651624
CLANG_WARN_EMPTY_BODY = YES;
652625
CLANG_WARN_ENUM_CONVERSION = YES;
653626
CLANG_WARN_INFINITE_RECURSION = YES;
654627
CLANG_WARN_INT_CONVERSION = YES;
655628
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
629+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
656630
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
657631
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
658632
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;

Cosmic.xcodeproj/xcshareddata/xcschemes/Cosmic.xcscheme

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0910"
3+
LastUpgradeVersion = "0930"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,9 +26,8 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
30-
shouldUseLaunchSchemeArgsEnv = "YES"
31-
codeCoverageEnabled = "YES">
29+
codeCoverageEnabled = "YES"
30+
shouldUseLaunchSchemeArgsEnv = "YES">
3231
<Testables>
3332
<TestableReference
3433
skipped = "NO">
@@ -57,7 +56,6 @@
5756
buildConfiguration = "Debug"
5857
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5958
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
60-
language = ""
6159
launchStyle = "0"
6260
useCustomWorkingDirectory = "NO"
6361
ignoresPersistentStateOnLaunch = "NO"

Podfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ target 'Cosmic' do
66
use_frameworks!
77

88
# Pods for Cosmic
9-
pod 'BlueSocket', "~> 0.12.0"
9+
pod 'BlueSocket', "~> 1.0"
1010

1111
target 'CosmicTests' do
1212
inherit! :search_paths

Podfile.lock

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
PODS:
2-
- BlueSocket (0.12.78)
2+
- BlueSocket (1.0.3)
33

44
DEPENDENCIES:
5-
- BlueSocket (~> 0.12.0)
5+
- BlueSocket (~> 1.0)
66

7-
SPEC CHECKSUMS:
8-
BlueSocket: 7a013305c500516f81c5da1c02433012c0fc54e3
7+
SPEC REPOS:
8+
https://github.com/CocoaPods/Specs.git:
9+
- BlueSocket
910

10-
PODFILE CHECKSUM: 5a4da4e20fbf9a41a56c5dd62f2bd214d9d03bf5
11+
SPEC CHECKSUMS:
12+
BlueSocket: e9e6dc1fe10684f23f80c6673dcc2d5539bb7679
1113

12-
COCOAPODS: 1.3.1
14+
PODFILE CHECKSUM: 5e4c3571b1a2b94cd02201a7225983e32eda0675
1315

14-
COCOAPODS DEPLOY: 0.0.11
16+
COCOAPODS: 1.5.0

Sources/Cosmic/Formatters/BlockFormatter.swift

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// BlockFormatter.swift
3+
// Cosmic
4+
//
5+
// Created by Jack Newcombe on 11/06/2017.
6+
// Copyright © 2017 Jack Newcombe. All rights reserved.
7+
//
8+
9+
import Foundation
10+
11+
public typealias LambdaFormatterCompletion = (String, LogMetadata) -> (String)
12+
13+
public class LambdaFormatter: LogFormatter {
14+
15+
let completion: LambdaFormatterCompletion
16+
17+
public init(completion: @escaping LambdaFormatterCompletion) {
18+
self.completion = completion
19+
}
20+
21+
public func format(message: String, metadata: LogMetadata) -> String {
22+
return completion(message, metadata)
23+
}
24+
25+
}
26+
27+
public typealias λFormatter = LambdaFormatter
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
//
2+
// LambdaLogger.swift
3+
// Cosmic
4+
//
5+
// Created by Jack Newcombe on 16/04/2018.
6+
// Copyright © 2018 Jack Newcombe. All rights reserved.
7+
//
8+
9+
import Foundation
10+
11+
public typealias LambdaLoggerCompletion = (_ message: String, _ level: LogLevel, _ metadata: LogMetadata) -> ()
12+
13+
public class LambdaLogger: Logger {
14+
15+
typealias LogMessage = (logLevel: LogLevel, message: String)
16+
17+
public var logLevel: LogLevel = .info
18+
19+
public var formatters: [LogFormatter] = []
20+
21+
public var completion: LambdaLoggerCompletion?
22+
23+
public init(completion: @escaping LambdaLoggerCompletion) {
24+
self.completion = completion
25+
}
26+
27+
public required init() { }
28+
29+
public func log(_ message: String, logLevel: LogLevel, metadata: LogMetadata) {
30+
completion?(message, logLevel, metadata)
31+
}
32+
33+
}
34+
35+
public typealias λLogger = LambdaLogger

Sources/Cosmic/Loggers/MemoryLogger.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class MemoryLogger: Logger {
1818

1919
public var formatters: [LogFormatter] = []
2020

21-
internal var cache: LogCache = LogCache()
21+
internal(set) var cache: LogCache = LogCache()
2222

2323
public required init() { }
2424

0 commit comments

Comments
 (0)