36 lines
609 B
Go
36 lines
609 B
Go
package config
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
)
|
|
|
|
type Config struct {
|
|
Fluentd struct {
|
|
URL string `json:"url"`
|
|
} `json:"fluentd"`
|
|
Elasticsearch struct {
|
|
URL string `json:"url"`
|
|
Auth struct {
|
|
Username string `json:"username"`
|
|
Password string `json:"password"`
|
|
} `json:"auth"`
|
|
} `json:"elasticsearch"`
|
|
}
|
|
|
|
// LoadConfig 从指定路径加载配置文件
|
|
func LoadConfig(path string) (*Config, error) {
|
|
file, err := os.ReadFile(path)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
var config Config
|
|
err = json.Unmarshal(file, &config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &config, nil
|
|
}
|