aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/fmsg
diff options
context:
space:
mode:
Diffstat (limited to 'internal/fmsg')
-rw-r--r--internal/fmsg/fmsg.go39
-rw-r--r--internal/fmsg/verbose.go21
2 files changed, 60 insertions, 0 deletions
diff --git a/internal/fmsg/fmsg.go b/internal/fmsg/fmsg.go
index 40d34108..c72913f8 100644
--- a/internal/fmsg/fmsg.go
+++ b/internal/fmsg/fmsg.go
@@ -1,2 +1,41 @@
// Package fmsg provides various functions for output messages.
package fmsg
+
+import (
+ "log"
+ "os"
+ "sync/atomic"
+)
+
+var (
+ std = log.New(os.Stdout, "fortify: ", 0)
+ warn = log.New(os.Stderr, "fortify: ", 0)
+
+ verbose = new(atomic.Bool)
+)
+
+func SetPrefix(prefix string) {
+ prefix += ": "
+ std.SetPrefix(prefix)
+ warn.SetPrefix(prefix)
+}
+
+func Print(v ...any) {
+ warn.Print(v...)
+}
+
+func Printf(format string, v ...any) {
+ warn.Printf(format, v...)
+}
+
+func Println(v ...any) {
+ warn.Println(v...)
+}
+
+func Fatal(v ...any) {
+ warn.Fatal(v...)
+}
+
+func Fatalf(format string, v ...any) {
+ warn.Fatalf(format, v...)
+}
diff --git a/internal/fmsg/verbose.go b/internal/fmsg/verbose.go
new file mode 100644
index 00000000..36faadeb
--- /dev/null
+++ b/internal/fmsg/verbose.go
@@ -0,0 +1,21 @@
+package fmsg
+
+func Verbose() bool {
+ return verbose.Load()
+}
+
+func SetVerbose(v bool) {
+ verbose.Store(v)
+}
+
+func VPrintf(format string, v ...any) {
+ if verbose.Load() {
+ std.Printf(format, v...)
+ }
+}
+
+func VPrintln(v ...any) {
+ if verbose.Load() {
+ std.Println(v...)
+ }
+}