From c35d1e879195db2a781d2072d3c6cdeacfeb07fa Mon Sep 17 00:00:00 2001 From: David Delarosa Date: Wed, 22 Dec 2021 20:27:38 +0200 Subject: [PATCH] Use stderr By using stderr fd we can separate the information logs from the application output --- cautils/display.go | 14 +++++++------- cautils/versioncheck.go | 2 +- resultshandling/printer/jsonprinter.go | 2 +- resultshandling/printer/junit.go | 2 +- resultshandling/reporter/mockreporter.go | 2 +- resultshandling/reporter/reporteventreceiver.go | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cautils/display.go b/cautils/display.go index d82e9114..4efd4a2c 100644 --- a/cautils/display.go +++ b/cautils/display.go @@ -35,15 +35,15 @@ func ScanStartDisplay() { if IsSilent() { return } - InfoDisplay(os.Stdout, "ARMO security scanner starting\n") + InfoDisplay(os.Stderr, "ARMO security scanner starting\n") } func SuccessTextDisplay(str string) { if IsSilent() { return } - SuccessDisplay(os.Stdout, "[success] ") - SimpleDisplay(os.Stdout, fmt.Sprintf("%s\n", str)) + SuccessDisplay(os.Stderr, "[success] ") + SimpleDisplay(os.Stderr, fmt.Sprintf("%s\n", str)) } @@ -51,8 +51,8 @@ func ErrorDisplay(str string) { if IsSilent() { return } - SuccessDisplay(os.Stdout, "[Error] ") - SimpleDisplay(os.Stdout, fmt.Sprintf("%s\n", str)) + SuccessDisplay(os.Stderr, "[Error] ") + SimpleDisplay(os.Stderr, fmt.Sprintf("%s\n", str)) } @@ -60,8 +60,8 @@ func ProgressTextDisplay(str string) { if IsSilent() { return } - InfoDisplay(os.Stdout, "[progress] ") - SimpleDisplay(os.Stdout, fmt.Sprintf("%s\n", str)) + InfoDisplay(os.Stderr, "[progress] ") + SimpleDisplay(os.Stderr, fmt.Sprintf("%s\n", str)) } func StartSpinner() { diff --git a/cautils/versioncheck.go b/cautils/versioncheck.go index ab5d4217..2eba7e4b 100644 --- a/cautils/versioncheck.go +++ b/cautils/versioncheck.go @@ -22,7 +22,7 @@ type IVersionCheckHandler interface { func NewIVersionCheckHandler() IVersionCheckHandler { if BuildNumber == "" { - WarningDisplay(os.Stdout, "Warning: unknown build number, this might affect your scan results. Please make sure you are updated to latest version.\n") + WarningDisplay(os.Stderr, "Warning: unknown build number, this might affect your scan results. Please make sure you are updated to latest version.\n") } if v, ok := os.LookupEnv(SKIP_VERSION_CHECK); ok && pkgutils.StringToBool(v) { return NewVersionCheckHandlerMock() diff --git a/resultshandling/printer/jsonprinter.go b/resultshandling/printer/jsonprinter.go index 01acad7e..ab2de4d9 100644 --- a/resultshandling/printer/jsonprinter.go +++ b/resultshandling/printer/jsonprinter.go @@ -21,7 +21,7 @@ func (jsonPrinter *JsonPrinter) SetWriter(outputFile string) { } func (jsonPrinter *JsonPrinter) Score(score float32) { - fmt.Printf("\nFinal score: %d", int(score*100)) + fmt.Fprintf(os.Stderr, "\nFinal score: %d", int(score*100)) } func (jsonPrinter *JsonPrinter) ActionPrint(opaSessionObj *cautils.OPASessionObj) { diff --git a/resultshandling/printer/junit.go b/resultshandling/printer/junit.go index 9c480b50..1c8ea48d 100644 --- a/resultshandling/printer/junit.go +++ b/resultshandling/printer/junit.go @@ -22,7 +22,7 @@ func (junitPrinter *JunitPrinter) SetWriter(outputFile string) { } func (junitPrinter *JunitPrinter) Score(score float32) { - fmt.Printf("\nFinal score: %d", int(score*100)) + fmt.Fprintf(os.Stderr, "\nFinal score: %d", int(score*100)) } func (junitPrinter *JunitPrinter) ActionPrint(opaSessionObj *cautils.OPASessionObj) { diff --git a/resultshandling/reporter/mockreporter.go b/resultshandling/reporter/mockreporter.go index 22983fef..803066a6 100644 --- a/resultshandling/reporter/mockreporter.go +++ b/resultshandling/reporter/mockreporter.go @@ -26,5 +26,5 @@ func (reportMock *ReportMock) SetClusterName(clusterName string) { func (reportMock *ReportMock) DisplayReportURL() { message := fmt.Sprintf("\nYou can see the results in a user-friendly UI, choose your preferred compliance framework, check risk results history and trends, manage exceptions, get remediation recommendations and much more by registering here: https://%s/cli-signup \n", getter.GetArmoAPIConnector().GetFrontendURL()) - cautils.InfoTextDisplay(os.Stdout, fmt.Sprintf("\n%s\n", message)) + cautils.InfoTextDisplay(os.Stderr, fmt.Sprintf("\n%s\n", message)) } diff --git a/resultshandling/reporter/reporteventreceiver.go b/resultshandling/reporter/reporteventreceiver.go index fc01232d..07fee8cf 100644 --- a/resultshandling/reporter/reporteventreceiver.go +++ b/resultshandling/reporter/reporteventreceiver.go @@ -126,7 +126,7 @@ func (report *ReportEventReceiver) DisplayReportURL() { u.Host = getter.GetArmoAPIConnector().GetFrontendURL() if report.customerAdminEMail != "" { - cautils.InfoTextDisplay(os.Stdout, fmt.Sprintf("\n\n%s %s/risk/%s\n(Account: %s)\n\n", message, u.String(), report.clusterName, report.customerGUID)) + cautils.InfoTextDisplay(os.Stderr, fmt.Sprintf("\n\n%s %s/risk/%s\n(Account: %s)\n\n", message, u.String(), report.clusterName, report.customerGUID)) return } u.Path = "account/sign-up" @@ -135,5 +135,5 @@ func (report *ReportEventReceiver) DisplayReportURL() { q.Add("customerGUID", report.customerGUID) u.RawQuery = q.Encode() - cautils.InfoTextDisplay(os.Stdout, fmt.Sprintf("\n\n%s %s\n\n", message, u.String())) + cautils.InfoTextDisplay(os.Stderr, fmt.Sprintf("\n\n%s %s\n\n", message, u.String())) }