Commit 9296a87a authored by Onkar Sutar's avatar Onkar Sutar
Browse files

Logging Helper code change

logger for console and file.
parent 82e53e8f
Branches
Tags
3 merge requests!14Merge Stagingbranch to Master,!13Merge Dev branch in to Staging Branch,!12Dev cleanup
Showing with 225 additions and 15 deletions
......@@ -35,7 +35,8 @@ func DecodeToken(tokenFromRequest string) (jwt.MapClaims, error) {
// get data i.e.Claims from token
token, err := jwt.Parse(tokenFromRequest, func(token *jwt.Token) (interface{}, error) {
// Don't forget to validate the alg is what you expect:
if _, ok := token.Method.(*jwt.SigningMethodRSA); !ok {
_, ok := token.Method.(*jwt.SigningMethodRSA)
if !ok {
return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"])
}
return JwtKey, nil
......
package logginghelper
import (
"fmt"
"os"
"runtime"
"strings"
"github.com/sirupsen/logrus"
)
var logger = logrus.New()
var consoleLogger = logrus.New()
// Fields wraps logrus.Fields, which is a map[string]interface{}
type Fields logrus.Fields
//Init Init Logger
func Init(fileName string) {
customFormatter := new(logrus.TextFormatter)
customFormatter.TimestampFormat = "2006-01-02 15:04:05"
func init() {
//log.Formatter = new(logger.JSONFormatter)
logger.Formatter = new(logrus.TextFormatter) // default
logger.Formatter = customFormatter // default
logger.Level = logrus.InfoLevel
file, err := os.OpenFile("serverlogs.log", os.O_CREATE|os.O_APPEND, 0666)
file, err := os.OpenFile(fileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666)
if err == nil {
logger.Out = file
} else {
logger.Error(err)
logger.Info("Failed to log to file, using default stderr")
}
//console logger
//log.Formatter = new(logger.JSONFormatter)
consoleLogger.Formatter = customFormatter // default
consoleLogger.Level = logrus.InfoLevel
consoleLogger.Out = os.Stdout
}
//LogDebug Log Debug messages
//SetLogLevel SetLogLevel
func SetLogLevel(level logrus.Level) {
logger.Level = level
consoleLogger.Level = level
}
//SetLogFormatter SetLogFormatter
func SetLogFormatter(formatter logrus.Formatter) {
logger.Formatter = formatter
consoleLogger.Formatter = formatter
}
// LogDebug logs a message at level Debug on the standard logger.
func LogDebug(args ...interface{}) {
logger.Debug(args)
if logger.Level >= logrus.DebugLevel {
entry := logger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Debug(args)
}
//console logger
if consoleLogger.Level >= logrus.DebugLevel {
entry := consoleLogger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Debug(args)
}
}
//LogInfo Logs Info messages
// LogDebugWithFields logs a message with fields at level Debug on the standard logger.
func LogDebugWithFields(l interface{}, f Fields) {
if logger.Level >= logrus.DebugLevel {
entry := logger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Debug(l)
}
//console logger
if consoleLogger.Level >= logrus.DebugLevel {
entry := consoleLogger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Debug(l)
}
}
// LogInfo logs a message at level Info on the standard logger.
func LogInfo(args ...interface{}) {
logger.Info(args)
if logger.Level >= logrus.InfoLevel {
entry := logger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Info(args...)
}
//console logger
if consoleLogger.Level >= logrus.InfoLevel {
entry := consoleLogger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Info(args...)
}
}
//LogWarn Logs Warning messages
// LogInfoWithFields logs a message with fields at level Debug on the standard logger.
func LogInfoWithFields(l interface{}, f Fields) {
if logger.Level >= logrus.InfoLevel {
entry := logger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Info(l)
}
//console logger
if consoleLogger.Level >= logrus.InfoLevel {
entry := consoleLogger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Info(l)
}
}
// LogWarn logs a message at level Warn on the standard logger.
func LogWarn(args ...interface{}) {
logger.Warn(args)
if logger.Level >= logrus.WarnLevel {
entry := logger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Warn(args...)
}
//console logger
if consoleLogger.Level >= logrus.WarnLevel {
entry := consoleLogger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Warn(args...)
}
}
//LogError Logs Error messages
// LogWarnWithFields logs a message with fields at level Debug on the standard logger.
func LogWarnWithFields(l interface{}, f Fields) {
if logger.Level >= logrus.WarnLevel {
entry := logger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Warn(l)
}
//console logger
if consoleLogger.Level >= logrus.WarnLevel {
entry := consoleLogger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Warn(l)
}
}
// LogError logs a message at level Error on the standard logger.
func LogError(args ...interface{}) {
logger.Error(args)
if logger.Level >= logrus.ErrorLevel {
entry := logger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Error(args...)
}
//console logger
if consoleLogger.Level >= logrus.ErrorLevel {
entry := consoleLogger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Error(args...)
}
}
// LogErrorWithFields logs a message with fields at level Debug on the standard logger.
func LogErrorWithFields(l interface{}, f Fields) {
if logger.Level >= logrus.ErrorLevel {
entry := logger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Error(l)
}
//console logger
if consoleLogger.Level >= logrus.ErrorLevel {
entry := consoleLogger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Error(l)
}
}
// LogFatal logs a message at level Fatal on the standard logger.
func LogFatal(args ...interface{}) {
if logger.Level >= logrus.FatalLevel {
entry := logger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Fatal(args...)
}
//console logger
if consoleLogger.Level >= logrus.FatalLevel {
entry := consoleLogger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Fatal(args...)
}
}
//LogPanic Logs Panic messages
// LogFatalWithFields logs a message with fields at level Debug on the standard logger.
func LogFatalWithFields(l interface{}, f Fields) {
if logger.Level >= logrus.FatalLevel {
entry := logger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Fatal(l)
}
//console logger
if consoleLogger.Level >= logrus.FatalLevel {
entry := consoleLogger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Fatal(l)
}
}
// Panic logs a message at level Panic on the standard logger.
func LogPanic(args ...interface{}) {
logger.Panic(args)
if logger.Level >= logrus.PanicLevel {
entry := logger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Panic(args...)
}
//console logger
if consoleLogger.Level >= logrus.PanicLevel {
entry := consoleLogger.WithFields(logrus.Fields{})
entry.Data["file"] = fileInfo(2)
entry.Panic(args...)
}
}
// LogPanicWithFields logs a message with fields at level Debug on the standard logger.
func LogPanicWithFields(l interface{}, f Fields) {
if logger.Level >= logrus.PanicLevel {
entry := logger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Panic(l)
}
//console logger
if consoleLogger.Level >= logrus.PanicLevel {
entry := consoleLogger.WithFields(logrus.Fields(f))
entry.Data["file"] = fileInfo(2)
entry.Panic(l)
}
}
func fileInfo(skip int) string {
_, file, line, ok := runtime.Caller(skip)
if !ok {
file = "<???>"
line = 1
} else {
slash := strings.LastIndex(file, "/")
if slash >= 0 {
file = file[slash+1:]
}
}
return fmt.Sprintf("%s:%d", file, line)
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment