Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5dd84c7

Browse files
authored
Remove CollectEverythingLogHandler implementation in favour of InMemoryLogHandler from swift-log (#874)
Swift log now has an InMemoryLogHandler. Lets depend on that instead ofhaving our own `CollectEverythingLogHandler`.I've added an extension on top, to make it easier to create the loggertooResult: less code
1 parentc464bf9 commit5dd84c7

File tree

5 files changed

+63
-166
lines changed

5 files changed

+63
-166
lines changed

‎Package.swift‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ let package = Package(
4040
.package(url:"https://github.com/apple/swift-nio-http2.git", from:"1.36.0"),
4141
.package(url:"https://github.com/apple/swift-nio-extras.git", from:"1.26.0"),
4242
.package(url:"https://github.com/apple/swift-nio-transport-services.git", from:"1.24.0"),
43-
.package(url:"https://github.com/apple/swift-log.git", from:"1.6.0"),
43+
.package(url:"https://github.com/apple/swift-log.git", from:"1.7.1"),
4444
.package(url:"https://github.com/apple/swift-atomics.git", from:"1.0.2"),
4545
.package(url:"https://github.com/apple/swift-algorithms.git", from:"1.0.0"),
4646
.package(url:"https://github.com/apple/swift-distributed-tracing.git", from:"1.3.0"),
@@ -92,6 +92,7 @@ let package = Package(
9292
.product(name:"Algorithms",package:"swift-algorithms"),
9393
// Observability support
9494
.product(name:"Logging",package:"swift-log"),
95+
.product(name:"InMemoryLogging",package:"swift-log"),
9596
.product(name:"Tracing",package:"swift-distributed-tracing"),
9697
.product(name:"InMemoryTracing",package:"swift-distributed-tracing"),
9798
],

‎Tests/AsyncHTTPClientTests/HTTPClient+SOCKSTests.swift‎

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
//===----------------------------------------------------------------------===//
1414

1515
import AsyncHTTPClient // NOT @testable - tests that need @testable go into HTTPClientInternalTests.swift
16+
import InMemoryLogging
1617
import Logging
1718
import NIOCore
1819
import NIOHTTP1
@@ -27,7 +28,7 @@ class HTTPClientSOCKSTests: XCTestCase {
2728
varserverGroup:EventLoopGroup!
2829
vardefaultHTTPBin:HTTPBin<HTTPBinHandler>!
2930
vardefaultClient:HTTPClient!
30-
varbackgroundLogStore:CollectEverythingLogHandler.LogStore!
31+
varbackgroundLogStore:InMemoryLogHandler!
3132

3233
vardefaultHTTPBinURLPrefix:String{
3334
"http://localhost:\(self.defaultHTTPBin.port)/"
@@ -43,14 +44,8 @@ class HTTPClientSOCKSTests: XCTestCase {
4344
self.clientGroup=getDefaultEventLoopGroup(numberOfThreads:1)
4445
self.serverGroup=MultiThreadedEventLoopGroup(numberOfThreads:1)
4546
self.defaultHTTPBin=HTTPBin()
46-
self.backgroundLogStore=CollectEverythingLogHandler.LogStore()
47-
varbackgroundLogger=Logger(
48-
label:"\(#function)",
49-
factory:{ _in
50-
CollectEverythingLogHandler(logStore:self.backgroundLogStore!)
51-
}
52-
)
53-
backgroundLogger.logLevel=.trace
47+
let(backgroundLogStore, backgroundLogger)=InMemoryLogHandler.makeLogger(logLevel:.trace)
48+
self.backgroundLogStore= backgroundLogStore
5449
self.defaultClient=HTTPClient(
5550
eventLoopGroupProvider:.shared(self.clientGroup),
5651
backgroundActivityLogger: backgroundLogger

‎Tests/AsyncHTTPClientTests/HTTPClientBase.swift‎

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import AsyncHTTPClient
1616
import Atomics
17+
import InMemoryLogging
1718
import Logging
1819
import NIOConcurrencyHelpers
1920
import NIOCore
@@ -37,7 +38,7 @@ class XCTestCaseHTTPClientTestsBaseClass: XCTestCase {
3738
varserverGroup:EventLoopGroup!
3839
vardefaultHTTPBin:HTTPBin<HTTPBinHandler>!
3940
vardefaultClient:HTTPClient!
40-
varbackgroundLogStore:CollectEverythingLogHandler.LogStore!
41+
varbackgroundLogStore:InMemoryLogHandler!
4142

4243
vardefaultHTTPBinURLPrefix:String{
4344
self.defaultHTTPBin.baseURL
@@ -53,14 +54,8 @@ class XCTestCaseHTTPClientTestsBaseClass: XCTestCase {
5354
self.clientGroup=getDefaultEventLoopGroup(numberOfThreads:1)
5455
self.serverGroup=MultiThreadedEventLoopGroup(numberOfThreads:1)
5556
self.defaultHTTPBin=HTTPBin()
56-
self.backgroundLogStore=CollectEverythingLogHandler.LogStore()
57-
varbackgroundLogger=Logger(
58-
label:"\(#function)",
59-
factory:{ _in
60-
CollectEverythingLogHandler(logStore:self.backgroundLogStore!)
61-
}
62-
)
63-
backgroundLogger.logLevel=.trace
57+
let(backgroundLogStore, backgroundLogger)=InMemoryLogHandler.makeLogger(logLevel:.trace)
58+
self.backgroundLogStore= backgroundLogStore
6459

6560
self.defaultClient=HTTPClient(
6661
eventLoopGroupProvider:.shared(self.clientGroup),

‎Tests/AsyncHTTPClientTests/HTTPClientTestUtils.swift‎

Lines changed: 15 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import Atomics
1616
import Foundation
17+
import InMemoryLogging
1718
import Logging
1819
import NIOConcurrencyHelpers
1920
import NIOCore
@@ -1290,65 +1291,21 @@ extension EventLoopFuture where Value: Sendable {
12901291
}
12911292
}
12921293

1293-
structCollectEverythingLogHandler:LogHandler{
1294-
varmetadata:Logger.Metadata=[:]
1295-
varlogLevel:Logger.Level=.info
1296-
letlogStore:LogStore
1297-
1298-
finalclassLogStore:Sendable{
1299-
structEntry{
1300-
varlevel:Logger.Level
1301-
varmessage:String
1302-
varmetadata:[String:String]
1303-
}
1304-
1305-
privateletlogs=NIOLockedValueBox<[Entry]>([])
1306-
1307-
varallEntries:[Entry]{
1308-
get{
1309-
self.logs.withLockedValue{ $0}
1310-
}
1311-
set{
1312-
self.logs.withLockedValue{ $0= newValue}
1294+
extensionInMemoryLogHandler{
1295+
staticfunc makeLogger(
1296+
logLevel:Logger.Level=.info,
1297+
function:String= #function
1298+
)->(InMemoryLogHandler,Logger){
1299+
lethandler=InMemoryLogHandler()
1300+
1301+
varlogger=Logger(
1302+
label:"\(function)",
1303+
factory:{ _in
1304+
handler
13131305
}
1314-
}
1315-
1316-
func append(level:Logger.Level, message:Logger.Message, metadata:Logger.Metadata?){
1317-
self.logs.withLockedValue{
1318-
$0.append(
1319-
Entry(
1320-
level: level,
1321-
message: message.description,
1322-
metadata: metadata?.mapValues{ $0.description}??[:]
1323-
)
1324-
)
1325-
}
1326-
}
1327-
}
1328-
1329-
init(logStore:LogStore){
1330-
self.logStore= logStore
1331-
}
1332-
1333-
func log(
1334-
level:Logger.Level,
1335-
message:Logger.Message,
1336-
metadata:Logger.Metadata?,
1337-
source:String,
1338-
file:String,
1339-
function:String,
1340-
line:UInt
1341-
){
1342-
self.logStore.append(level: level, message: message, metadata:self.metadata.merging(metadata??[:]){ $1})
1343-
}
1344-
1345-
subscript(metadataKey key:String)->Logger.Metadata.Value?{
1346-
get{
1347-
self.metadata[key]
1348-
}
1349-
set{
1350-
self.metadata[key]= newValue
1351-
}
1306+
)
1307+
logger.logLevel= logLevel
1308+
return(handler, logger)
13521309
}
13531310
}
13541311

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp