Add Makefile and main.go in cli tools, base logger
This commit is contained in:
27
Makefile
Normal file
27
Makefile
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
.PHONY: build build-daemon build-tui clean help
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo "BanForge build targets:"
|
||||||
|
@echo " make build - Build both daemon and TUI"
|
||||||
|
@echo " make build-daemon - Build only daemon"
|
||||||
|
@echo " make build-tui - Build only TUI"
|
||||||
|
@echo " make clean - Remove binaries"
|
||||||
|
@echo " make test - Run tests"
|
||||||
|
|
||||||
|
build: build-daemon build-tui
|
||||||
|
@echo "✅ Build complete!"
|
||||||
|
|
||||||
|
build-daemon:
|
||||||
|
@mkdir -p bin
|
||||||
|
go mod tidy
|
||||||
|
go build -o bin/banforge ./cmd/banforge
|
||||||
|
|
||||||
|
build-tui:
|
||||||
|
@mkdir -p bin
|
||||||
|
go build -o bin/banforge-tui ./cmd/banforge-tui
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf bin/
|
||||||
|
|
||||||
|
test:
|
||||||
|
go test ./...
|
||||||
30
cmd/banforge/main.go
Normal file
30
cmd/banforge/main.go
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
var rootCmd = &cobra.Command{
|
||||||
|
Use: "banforge",
|
||||||
|
Short: "IPS log-based written on Golang",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func Init() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func Execute() {
|
||||||
|
if err := rootCmd.Execute(); err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
Execute()
|
||||||
|
}
|
||||||
27
local/logger/logger.go
Normal file
27
local/logger/logger.go
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
package logger
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log/slog"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Logger struct {
|
||||||
|
*slog.Logger
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(debug bool) *Logger {
|
||||||
|
var level slog.Level
|
||||||
|
if debug {
|
||||||
|
level = slog.LevelDebug
|
||||||
|
} else {
|
||||||
|
level = slog.LevelInfo
|
||||||
|
}
|
||||||
|
handler := slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
|
||||||
|
Level: level,
|
||||||
|
})
|
||||||
|
|
||||||
|
return &Logger{
|
||||||
|
Logger: slog.New(handler),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user