1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-12 10:55:20 +02:00
sap-jenkins-library/pkg/log/errors.go
ffeldmann 19a05a9c70
Reporting: Variable change to deprecate step Splunk Hook; logging in telemetry (#3539)
* Adds fatalError variable with helper setter and getter helper functions
* Adds logging function to telemetry package (always executed)
2022-02-14 08:56:11 +01:00

77 lines
1.7 KiB
Go

package log
// ErrorCategory defines the category of a pipeline error
type ErrorCategory int
// Error categories which allow categorizing failures
const (
ErrorUndefined ErrorCategory = iota
ErrorBuild
ErrorCompliance
ErrorConfiguration
ErrorCustom
ErrorInfrastructure
ErrorService
ErrorTest
)
var errorCategory ErrorCategory = ErrorUndefined
var fatalError []byte
func (e ErrorCategory) String() string {
return [...]string{
"undefined",
"build",
"compliance",
"config",
"custom",
"infrastructure",
"service",
"test",
}[e]
}
// ErrorCategoryByString returns the error category based on the category text
func ErrorCategoryByString(category string) ErrorCategory {
switch category {
case "build":
return ErrorBuild
case "compliance":
return ErrorCompliance
case "config":
return ErrorConfiguration
case "custom":
return ErrorCustom
case "infrastructure":
return ErrorInfrastructure
case "service":
return ErrorService
case "test":
return ErrorTest
}
return ErrorUndefined
}
// SetErrorCategory sets the error category
// This can be used later by calling log.GetErrorCategory()
// In addition it will be used when exiting the program with
// log.FatalError(err, message)
func SetErrorCategory(category ErrorCategory) {
errorCategory = category
}
// GetErrorCategory retrieves the error category which is currently known to the execution of a step
func GetErrorCategory() ErrorCategory {
return errorCategory
}
// SetFatalErrorDetail sets the fatal error to be stored
func SetFatalErrorDetail(error []byte) {
fatalError = error
}
// GetFatalErrorDetail retrieves the error which is currently known to the execution of a step
func GetFatalErrorDetail() []byte {
return fatalError
}