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