From 828d7c6d56522683f9ae8c6d6fed707d020b1fbe Mon Sep 17 00:00:00 2001 From: wuko233 Date: Wed, 1 Apr 2026 21:03:31 +0800 Subject: [PATCH] =?UTF-8?q?[config]=20=E8=A7=84=E8=8C=83=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/config/config.go | 40 --------------------------------------- internal/config/utils.go | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 40 deletions(-) diff --git a/internal/config/config.go b/internal/config/config.go index c4a3b06..e3f900f 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,14 +1,5 @@ package config -import ( - "fmt" - "os" - "sysmonitord/pkg/logger" - - "go.uber.org/zap" - "gopkg.in/yaml.v3" -) - type Config struct { Audit AuditConfig `yaml:"audit"` Scanner ScannerConfig `yaml:"scanner"` @@ -46,34 +37,3 @@ type FileScannerConfig struct { FastHashSize int64 FastHashChunk int64 } - -func LoadConfig(path string) (*Config, error) { - data, err := os.ReadFile(path) - if err != nil { - return nil, fmt.Errorf("无法读取配置文件: %w", err) - } - - var cfg Config - if err := yaml.Unmarshal(data, &cfg); err != nil { - return nil, fmt.Errorf("无法解析配置文件: %w", err) - } - - // 解析 FastHashSize - cfg.Scanner.File.FastHashSize, err = ParseSize(cfg.Scanner.File.FastHashSizeRaw) - if err != nil { - return nil, fmt.Errorf("解析 fast_hash_size 失败: %w", err) - } - - // 解析 FastHashChunk - cfg.Scanner.File.FastHashChunk, err = ParseSize(cfg.Scanner.File.FastHashChunkRaw) - if err != nil { - return nil, fmt.Errorf("解析 fast_hash_chunk 失败: %w", err) - } - - logger.Log.Debug("配置加载完成", - zap.Int64("fast_hash_size", cfg.Scanner.File.FastHashSize), - zap.Int64("fast_hash_chunk", cfg.Scanner.File.FastHashChunk), - ) - - return &cfg, nil -} diff --git a/internal/config/utils.go b/internal/config/utils.go index d15e36f..365b91c 100644 --- a/internal/config/utils.go +++ b/internal/config/utils.go @@ -2,13 +2,49 @@ package config import ( "fmt" + "os" "regexp" "strconv" "strings" "sysmonitord/internal/scanner/hash" + "sysmonitord/pkg/logger" + + "go.uber.org/zap" + "gopkg.in/yaml.v3" ) +func LoadConfig(path string) (*Config, error) { + data, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("无法读取配置文件: %w", err) + } + + var cfg Config + if err := yaml.Unmarshal(data, &cfg); err != nil { + return nil, fmt.Errorf("无法解析配置文件: %w", err) + } + + // 解析 FastHashSize + cfg.Scanner.File.FastHashSize, err = ParseSize(cfg.Scanner.File.FastHashSizeRaw) + if err != nil { + return nil, fmt.Errorf("解析 fast_hash_size 失败: %w", err) + } + + // 解析 FastHashChunk + cfg.Scanner.File.FastHashChunk, err = ParseSize(cfg.Scanner.File.FastHashChunkRaw) + if err != nil { + return nil, fmt.Errorf("解析 fast_hash_chunk 失败: %w", err) + } + + logger.Log.Debug("配置加载完成", + zap.Int64("fast_hash_size", cfg.Scanner.File.FastHashSize), + zap.Int64("fast_hash_chunk", cfg.Scanner.File.FastHashChunk), + ) + + return &cfg, nil +} + func ParseSize(sizeStr string) (int64, error) { sizeStr = strings.TrimSpace(sizeStr) if sizeStr == "" {