Skip to content

Commit 8c5911d

Browse files
committed
[DNM] Add some verbose logging
1 parent b6a3d95 commit 8c5911d

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

Sources/Build/LLBuildProgressTracker.swift

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,12 @@ final class LLBuildProgressTracker: LLBuildBuildSystemDelegate, SwiftCompilerOut
322322
self.observabilityScope.emit(.multipleProducers(output: output, commands: commands))
323323
}
324324

325-
func commandProcessStarted(_ command: SPMLLBuild.Command, process: ProcessHandle) {}
325+
func commandProcessStarted(_ command: SPMLLBuild.Command, process: ProcessHandle) {
326+
self.queue.async {
327+
self.outputStream.send("EXTRA VERBOSE COMMAND STARTED \(process.hashValue) for \(command.verboseDescription)\n")
328+
self.outputStream.flush()
329+
}
330+
}
326331

327332
func commandProcessHadError(_ command: SPMLLBuild.Command, process: ProcessHandle, message: String) {
328333
self.observabilityScope.emit(.commandError(command: command, message: message))
@@ -345,18 +350,17 @@ final class LLBuildProgressTracker: LLBuildBuildSystemDelegate, SwiftCompilerOut
345350
process: ProcessHandle,
346351
result: CommandExtendedResult
347352
) {
348-
// FIXME: This should really happen at the command-level and is just a stopgap measure.
349-
let shouldFilterOutput = !self.logLevel.isVerbose && command.verboseDescription.hasPrefix("codesign ") && result
350-
.result != .failed
351-
352353
let commandName = command.name
353354

354355
self.queue.async {
355-
if let buffer = self.nonSwiftMessageBuffers[commandName], !shouldFilterOutput {
356+
if let buffer = self.nonSwiftMessageBuffers[commandName] {
356357
self.progressAnimation.clear()
357-
self.outputStream.send(buffer)
358+
self.outputStream.send("EXTRA VERBOSE COMMAND FINISHED \(process.hashValue) PID \(result.pid ?? 0) EXIT \(result.exitStatus) for \(command.verboseDescription) with \(buffer)\n")
358359
self.outputStream.flush()
359360
self.nonSwiftMessageBuffers[commandName] = nil
361+
} else {
362+
self.outputStream.send("EXTRA VERBOSE COMMAND FINISHED \(process.hashValue) PID \(result.pid ?? 0) EXIT \(result.exitStatus) for \(command.verboseDescription)\n")
363+
self.outputStream.flush()
360364
}
361365
}
362366

@@ -634,8 +638,15 @@ extension SwiftCompilerMessage {
634638
fileprivate var verboseProgressText: String? {
635639
switch kind {
636640
case .began(let info):
637-
([info.commandExecutable] + info.commandArguments).joined(separator: " ")
638-
case .skipped, .finished, .abnormal, .signalled, .unparsableOutput:
641+
"EXTRA VERBOSE STARTED \(info.pid) for \(([info.commandExecutable] + info.commandArguments).joined(separator: " "))"
642+
case .finished(let info):
643+
"EXTRA VERBOSE FINISHED \(info.pid) with \(info.output ?? "no output")"
644+
case .abnormal(let info),
645+
.signalled(let info):
646+
"EXTRA VERBOSE FAILED \(info.pid) with \(info.output ?? "no output")"
647+
case .unparsableOutput(let output):
648+
"EXTRA VERBOSE UNPARSABLE with \(output)"
649+
case .skipped:
639650
nil
640651
}
641652
}

0 commit comments

Comments
 (0)