package servicelib import ( "context" "encoding/json" "hnyfkj.com.cn/rtu/linux/baseapp" "hnyfkj.com.cn/rtu/linux/utils/jsonrpc2" ) func MakeGetBuildVer(version, buildTime string) jsonrpc2.MethodHandler { return func(ctx context.Context, req *jsonrpc2.Request) *jsonrpc2.Response { result := map[string]string{ "version": version, "build_time": buildTime, } return jsonrpc2.BuildResponse(req, result, nil) } } func GetLogLevel(ctx context.Context, req *jsonrpc2.Request) *jsonrpc2.Response { level, _ := baseapp.GetLogLevel() result := map[string]string{ "log_level": level, } return jsonrpc2.BuildResponse(req, result, nil) } func SetLogLevel(ctx context.Context, req *jsonrpc2.Request) *jsonrpc2.Response { var params map[string]string if err := json.Unmarshal(req.Params, ¶ms); err != nil { return jsonrpc2.BuildError(req, jsonrpc2.ErrInvalidParams, err.Error()) } level, ok := params["log_level"] if !ok || level == "" { return jsonrpc2.BuildError(req, jsonrpc2.ErrInvalidParams, "missing or empty 'log_level' parameter") } err := baseapp.UpdateLogLevel(level) if err != nil { return jsonrpc2.BuildError(req, jsonrpc2.ErrInternal, err.Error()) } return jsonrpc2.BuildResponse(req, "success", nil) } func SaveLogConf(ctx context.Context, req *jsonrpc2.Request) *jsonrpc2.Response { err := baseapp.SaveLogConfig() if err != nil { return jsonrpc2.BuildError(req, jsonrpc2.ErrInternal, err.Error()) } return jsonrpc2.BuildResponse(req, "success", nil) }