mirror of
https://github.com/apple/container.git
synced 2026-09-26 17:45:41 +00:00
CI observability enhancements. (#1193)
- Adds a a `--log-root` option to `swift system start`, propagating the value as `CONTAINER_LOG_ROOT` to services for logging to files instead of the OS log facility. This is not a "production" capability as it neither merges nor rotates logs. - Currently we don't collect logs on CI builds, and we don't have permission to run the `log` command there. The PR adds `--log-root` to the CI test phase, archives the results, and uploads the archive as an artifact. - Use FilePath from swift-system for the log root. Foundation URL is a bit of a footgun for filesystem paths, so unless we identify a showstopper, we should incrementally transition to this type everywhere except where we really need network URLs. - Output the hostname of the CI runner at the start of the test phase so we can identify runner-specific issues where they exist. - Fix formatting for log messages with multiple metadata items, and fix unstructured messages on instances that weren't found using `grep -r 'log\.' Sources`. - Adds command reference documentation for `--log-root`.
This commit is contained in:
@@ -63,9 +63,13 @@ extension Application {
|
||||
}
|
||||
|
||||
if !allErrors.isEmpty {
|
||||
let logger = Logger(label: "ImageInspect", factory: { _ in StderrLogHandler() })
|
||||
for (name, error) in allErrors {
|
||||
logger.error("\(name): \(error.localizedDescription)")
|
||||
log.error(
|
||||
"image inspect failed",
|
||||
metadata: [
|
||||
"name": "\(name)",
|
||||
"error": "\(error.localizedDescription)",
|
||||
])
|
||||
}
|
||||
|
||||
throw InspectError(succeeded: succeededImages, failed: allErrors)
|
||||
|
||||
Reference in New Issue
Block a user