Error handling & logging for broker
[ealt-edge.git] / mecm / mepm / applcm / broker / pkg / util / logger.go
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package common
+package util
 
 import (
-       "encoding/json"
-       "net/http"
+       "github.com/sirupsen/logrus"
+       "os"
 )
 
-func RespondJSON(w http.ResponseWriter, status int, payload interface{}) {
-       response, err := json.Marshal(payload)
-       if err != nil {
-               w.WriteHeader(http.StatusInternalServerError)
-               w.Write([]byte(err.Error()))
-               return
-       }
-       w.Header().Set("Content-Type", "application/json")
-       w.WriteHeader(status)
-       w.Write([]byte(response))
-}
+func GetLogger(logFile string, loggerLevel logrus.Level, file *os.File) *logrus.Logger {
 
-// respondError makes the error response with payload as json format
-func RespondError(w http.ResponseWriter, code int, message string) {
-       RespondJSON(w, code, map[string]string{"error": message})
-}
+       logger := logrus.New()
+       logger.SetOutput(file)
+       logger.SetFormatter(&logrus.TextFormatter{
+               DisableColors: true,
+               FullTimestamp: true,
+       })
+       logger.SetLevel(loggerLevel)
+       logger.Info("logger created")
+       return logger
+}
\ No newline at end of file