github.com/shohhei1126/hugo@v0.42.2-0.20180623210752-3d5928889ad7/utils/utils.go (about) 1 // Copyright 2016 The Hugo Authors. All rights reserved. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // http://www.apache.org/licenses/LICENSE-2.0 7 // 8 // Unless required by applicable law or agreed to in writing, software 9 // distributed under the License is distributed on an "AS IS" BASIS, 10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 package utils 15 16 import ( 17 "os" 18 19 jww "github.com/spf13/jwalterweatherman" 20 ) 21 22 // CheckErr logs the messages given and then the error. 23 // TODO(bep) Remove this package. 24 func CheckErr(logger *jww.Notepad, err error, s ...string) { 25 if err == nil { 26 return 27 } 28 if len(s) == 0 { 29 logger.CRITICAL.Println(err) 30 return 31 } 32 for _, message := range s { 33 logger.ERROR.Println(message) 34 } 35 logger.ERROR.Println(err) 36 } 37 38 // StopOnErr exits on any error after logging it. 39 func StopOnErr(logger *jww.Notepad, err error, s ...string) { 40 if err == nil { 41 return 42 } 43 44 defer os.Exit(-1) 45 46 if len(s) == 0 { 47 newMessage := err.Error() 48 // Printing an empty string results in a error with 49 // no message, no bueno. 50 if newMessage != "" { 51 logger.CRITICAL.Println(newMessage) 52 } 53 } 54 for _, message := range s { 55 if message != "" { 56 logger.CRITICAL.Println(message) 57 } 58 } 59 }