mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 10:06:24 +05:00
cgr-engine: add flag to print cfg in JSON format
This commit is contained in:
committed by
Dan Christian Bogos
parent
eed6b8a51a
commit
38fa360df9
@@ -56,6 +56,7 @@ type flags struct {
|
||||
config struct {
|
||||
path string
|
||||
check bool
|
||||
print bool
|
||||
version bool
|
||||
}
|
||||
process struct {
|
||||
@@ -93,6 +94,7 @@ func newFlags() *flags {
|
||||
|
||||
f.StringVar(&f.config.path, utils.CfgPathCgr, utils.ConfigPath, "Configuration directory path")
|
||||
f.BoolVar(&f.config.check, utils.CheckCfgCgr, false, "Verify the config without starting the engine")
|
||||
f.BoolVar(&f.config.print, utils.PrintCfgCgr, false, "Print configuration object in JSON format")
|
||||
f.BoolVar(&f.config.version, utils.VersionCgr, false, "Print application version and exit")
|
||||
|
||||
f.StringVar(&f.process.pidFile, utils.PidCgr, "", "Path to write the PID file")
|
||||
@@ -162,6 +164,12 @@ func runCGREngine(fs []string) (err error) {
|
||||
}
|
||||
}
|
||||
|
||||
if flags.config.print {
|
||||
cfgJSON := utils.ToIJSON(cfg.AsMapInterface())
|
||||
utils.Logger.Info(fmt.Sprintf(
|
||||
"Configuration loaded from %q:\n%s", flags.config.path, cfgJSON))
|
||||
}
|
||||
|
||||
var cpuPrfF *os.File
|
||||
if flags.profiling.cpu.dir != utils.EmptyString {
|
||||
cpuPath := filepath.Join(flags.profiling.cpu.dir, utils.CpuPathCgr)
|
||||
|
||||
@@ -134,6 +134,13 @@ func TestFlags(t *testing.T) {
|
||||
defaultVal: false,
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "print_config",
|
||||
flags: []string{"-print_config", "true"},
|
||||
flagVar: &flags.config.print,
|
||||
defaultVal: false,
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "set_versions",
|
||||
flags: []string{"-set_versions"},
|
||||
|
||||
Reference in New Issue
Block a user