github.com/darrenli6/fabric-sdk-example@v0.0.0-20220109053535-94b13b56df8c/peer/clilogging/common.go (about) 1 /* 2 Copyright IBM Corp. 2016 All Rights Reserved. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package clilogging 18 19 import ( 20 "github.com/hyperledger/fabric/common/errors" 21 "github.com/hyperledger/fabric/peer/common" 22 pb "github.com/hyperledger/fabric/protos/peer" 23 24 "github.com/spf13/cobra" 25 ) 26 27 // LoggingCmdFactory holds the clients used by LoggingCmd 28 type LoggingCmdFactory struct { 29 AdminClient pb.AdminClient 30 } 31 32 // InitCmdFactory init the LoggingCmdFactory with default admin client 33 func InitCmdFactory() (*LoggingCmdFactory, error) { 34 var err error 35 var adminClient pb.AdminClient 36 37 adminClient, err = common.GetAdminClient() 38 if err != nil { 39 return nil, err 40 } 41 42 return &LoggingCmdFactory{ 43 AdminClient: adminClient, 44 }, nil 45 } 46 47 func checkLoggingCmdParams(cmd *cobra.Command, args []string) error { 48 var err error 49 if cmd.Name() == "revertlevels" { 50 if len(args) > 0 { 51 err = errors.ErrorWithCallstack("LOG", "400", "More parameters than necessary were provided. Expected 0, received %d.", len(args)) 52 return err 53 } 54 } else { 55 // check that at least one parameter is passed in 56 if len(args) == 0 { 57 err = errors.ErrorWithCallstack("LOG", "400", "No parameters provided.") 58 return err 59 } 60 } 61 62 if cmd.Name() == "setlevel" { 63 // check that log level parameter is provided 64 if len(args) == 1 { 65 err = errors.ErrorWithCallstack("LOG", "400", "No log level provided.") 66 } else { 67 // check that log level is valid. if not, err is set 68 err = common.CheckLogLevel(args[1]) 69 } 70 } 71 72 return err 73 }