mirror of
https://github.com/mainflux/mainflux.git
synced 2025-05-06 19:29:15 +08:00

* Use normalizer as stream source Renamed 'writer' service to 'normalizer' and dropped Cassandra facilities from it. Extracted the common dependencies to 'mainflux' package for easier sharing. Fixed the API docs and unified environment variables. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Use docker build arguments to specify build Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Remove cassandra libraries Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update go-kit version to 0.6.0 Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix manager configuration Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Refactor docker-compose Merged individual compose files and dropped external links. Remove CoAP container since it is not referenced from NginX config at the moment. Update port mapping in compose and nginx.conf. Dropped bin scripts. Updated service documentation. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Drop content-type check Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement users data access layer in PostgreSQL Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Bump version to 0.1.0 Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Use go-kit logger everywhere (except CoAP) Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Improve factory methods naming Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement clients data access layer on PostgreSQL Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Make tests stateless All tests are refactored to use map-based table-driven tests. No cross-tests dependencies is present anymore. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Remove gitignore Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix nginx proxying Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Mark client-user FK explicit Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update API documentation Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update channel model Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Add channel PostgreSQL repository tests Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement PostgreSQL channels DAO Replaced update queries with raw SQL. Explicitly defined M2M table due to difficulties of ensuring the referential integrity through GORM. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Expose connection endpoints Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix swagger docs and remove DB logging Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix nested query remarks Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Add unique indices Signed-off-by: Dejan Mijic <dejan@mainflux.com>
194 lines
4.8 KiB
Go
194 lines
4.8 KiB
Go
package logrus
|
|
|
|
import (
|
|
"io"
|
|
)
|
|
|
|
var (
|
|
// std is the name of the standard logger in stdlib `log`
|
|
std = New()
|
|
)
|
|
|
|
func StandardLogger() *Logger {
|
|
return std
|
|
}
|
|
|
|
// SetOutput sets the standard logger output.
|
|
func SetOutput(out io.Writer) {
|
|
std.mu.Lock()
|
|
defer std.mu.Unlock()
|
|
std.Out = out
|
|
}
|
|
|
|
// SetFormatter sets the standard logger formatter.
|
|
func SetFormatter(formatter Formatter) {
|
|
std.mu.Lock()
|
|
defer std.mu.Unlock()
|
|
std.Formatter = formatter
|
|
}
|
|
|
|
// SetLevel sets the standard logger level.
|
|
func SetLevel(level Level) {
|
|
std.mu.Lock()
|
|
defer std.mu.Unlock()
|
|
std.SetLevel(level)
|
|
}
|
|
|
|
// GetLevel returns the standard logger level.
|
|
func GetLevel() Level {
|
|
std.mu.Lock()
|
|
defer std.mu.Unlock()
|
|
return std.level()
|
|
}
|
|
|
|
// AddHook adds a hook to the standard logger hooks.
|
|
func AddHook(hook Hook) {
|
|
std.mu.Lock()
|
|
defer std.mu.Unlock()
|
|
std.Hooks.Add(hook)
|
|
}
|
|
|
|
// WithError creates an entry from the standard logger and adds an error to it, using the value defined in ErrorKey as key.
|
|
func WithError(err error) *Entry {
|
|
return std.WithField(ErrorKey, err)
|
|
}
|
|
|
|
// WithField creates an entry from the standard logger and adds a field to
|
|
// it. If you want multiple fields, use `WithFields`.
|
|
//
|
|
// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal
|
|
// or Panic on the Entry it returns.
|
|
func WithField(key string, value interface{}) *Entry {
|
|
return std.WithField(key, value)
|
|
}
|
|
|
|
// WithFields creates an entry from the standard logger and adds multiple
|
|
// fields to it. This is simply a helper for `WithField`, invoking it
|
|
// once for each field.
|
|
//
|
|
// Note that it doesn't log until you call Debug, Print, Info, Warn, Fatal
|
|
// or Panic on the Entry it returns.
|
|
func WithFields(fields Fields) *Entry {
|
|
return std.WithFields(fields)
|
|
}
|
|
|
|
// Debug logs a message at level Debug on the standard logger.
|
|
func Debug(args ...interface{}) {
|
|
std.Debug(args...)
|
|
}
|
|
|
|
// Print logs a message at level Info on the standard logger.
|
|
func Print(args ...interface{}) {
|
|
std.Print(args...)
|
|
}
|
|
|
|
// Info logs a message at level Info on the standard logger.
|
|
func Info(args ...interface{}) {
|
|
std.Info(args...)
|
|
}
|
|
|
|
// Warn logs a message at level Warn on the standard logger.
|
|
func Warn(args ...interface{}) {
|
|
std.Warn(args...)
|
|
}
|
|
|
|
// Warning logs a message at level Warn on the standard logger.
|
|
func Warning(args ...interface{}) {
|
|
std.Warning(args...)
|
|
}
|
|
|
|
// Error logs a message at level Error on the standard logger.
|
|
func Error(args ...interface{}) {
|
|
std.Error(args...)
|
|
}
|
|
|
|
// Panic logs a message at level Panic on the standard logger.
|
|
func Panic(args ...interface{}) {
|
|
std.Panic(args...)
|
|
}
|
|
|
|
// Fatal logs a message at level Fatal on the standard logger.
|
|
func Fatal(args ...interface{}) {
|
|
std.Fatal(args...)
|
|
}
|
|
|
|
// Debugf logs a message at level Debug on the standard logger.
|
|
func Debugf(format string, args ...interface{}) {
|
|
std.Debugf(format, args...)
|
|
}
|
|
|
|
// Printf logs a message at level Info on the standard logger.
|
|
func Printf(format string, args ...interface{}) {
|
|
std.Printf(format, args...)
|
|
}
|
|
|
|
// Infof logs a message at level Info on the standard logger.
|
|
func Infof(format string, args ...interface{}) {
|
|
std.Infof(format, args...)
|
|
}
|
|
|
|
// Warnf logs a message at level Warn on the standard logger.
|
|
func Warnf(format string, args ...interface{}) {
|
|
std.Warnf(format, args...)
|
|
}
|
|
|
|
// Warningf logs a message at level Warn on the standard logger.
|
|
func Warningf(format string, args ...interface{}) {
|
|
std.Warningf(format, args...)
|
|
}
|
|
|
|
// Errorf logs a message at level Error on the standard logger.
|
|
func Errorf(format string, args ...interface{}) {
|
|
std.Errorf(format, args...)
|
|
}
|
|
|
|
// Panicf logs a message at level Panic on the standard logger.
|
|
func Panicf(format string, args ...interface{}) {
|
|
std.Panicf(format, args...)
|
|
}
|
|
|
|
// Fatalf logs a message at level Fatal on the standard logger.
|
|
func Fatalf(format string, args ...interface{}) {
|
|
std.Fatalf(format, args...)
|
|
}
|
|
|
|
// Debugln logs a message at level Debug on the standard logger.
|
|
func Debugln(args ...interface{}) {
|
|
std.Debugln(args...)
|
|
}
|
|
|
|
// Println logs a message at level Info on the standard logger.
|
|
func Println(args ...interface{}) {
|
|
std.Println(args...)
|
|
}
|
|
|
|
// Infoln logs a message at level Info on the standard logger.
|
|
func Infoln(args ...interface{}) {
|
|
std.Infoln(args...)
|
|
}
|
|
|
|
// Warnln logs a message at level Warn on the standard logger.
|
|
func Warnln(args ...interface{}) {
|
|
std.Warnln(args...)
|
|
}
|
|
|
|
// Warningln logs a message at level Warn on the standard logger.
|
|
func Warningln(args ...interface{}) {
|
|
std.Warningln(args...)
|
|
}
|
|
|
|
// Errorln logs a message at level Error on the standard logger.
|
|
func Errorln(args ...interface{}) {
|
|
std.Errorln(args...)
|
|
}
|
|
|
|
// Panicln logs a message at level Panic on the standard logger.
|
|
func Panicln(args ...interface{}) {
|
|
std.Panicln(args...)
|
|
}
|
|
|
|
// Fatalln logs a message at level Fatal on the standard logger.
|
|
func Fatalln(args ...interface{}) {
|
|
std.Fatalln(args...)
|
|
}
|