A logging backend for SwiftLog that translates logging messages into workflow commands for GitHub Actions.
- Swift 5.1+
import Logging
import LoggingGitHubActions
import struct Foundation.ProcessInfo
LoggingSystem.bootstrap { label in
if ProcessInfo.processInfo.environment["GITHUB_ACTIONS"] == "true" {
return GitHubActionsLogHandler.standardOutput(label: label)
} else {
return StreamLogHandler.standardOutput(label: label)
}
}
Create an instance of Logger
and log messages accordingly.
When your program is run as a step in a GitHub Actions workflow,
warning and error messages will be formatted in such a way that
it'll be surfaced in the GitHub Actions UI.
import Logging
let logger = Logger(label: "com.example.MyApp")
logger.error("Something went wrong")
// Prints "::error file=Sources/main.swift,line=5::Something went wrong
Add swift-log-github-actions
as a dependency to your Package.swift
file.
.package(url: "https://github.com/NSHipster/swift-log-github-actions.git", from: "1.0.0")
Add "LoggingGitHubActions
to your target's dependencies.
.target(name: "Example",
dependencies: ["LoggingGitHubActions"])
MIT
Mattt (@mattt)