Skip to content
This repository has been archived by the owner on Feb 24, 2024. It is now read-only.

removed the multilogger since it wasn't providing any real benefit #227

Merged
merged 1 commit into from
Feb 4, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 0 additions & 31 deletions app.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
package buffalo

import (
"log"
"net/http"
"os"
"path/filepath"
"sync"

"github.com/Sirupsen/logrus"
gcontext "github.com/gorilla/context"
"github.com/gorilla/mux"
"github.com/markbates/refresh/refresh/web"
Expand Down Expand Up @@ -61,9 +57,6 @@ func New(opts Options) *App {
moot: &sync.Mutex{},
routes: RouteList{},
}
if a.Logger == nil {
a.Logger = NewLogger(opts.LogLevel)
}
a.router.NotFoundHandler = http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) {
c := a.newContext(RouteInfo{}, res, req)
err := errors.Errorf("path not found: %s", req.URL.Path)
Expand All @@ -81,30 +74,6 @@ func New(opts Options) *App {
// https://www.youtube.com/watch?v=BKbOplYmjZM
func Automatic(opts Options) *App {
opts = optionsWithDefaults(opts)
if opts.Logger == nil {
lvl, _ := logrus.ParseLevel(opts.LogLevel)

hl := logrus.New()
hl.Level = lvl
hl.Formatter = &logrus.TextFormatter{}

err := os.MkdirAll(opts.LogDir, 0755)
if err != nil {
log.Fatal(err)
}

f, err := os.Create(filepath.Join(opts.LogDir, opts.Env+".log"))
if err != nil {
log.Fatal(err)
}
fl := logrus.New()
fl.Level = lvl
fl.Formatter = &logrus.JSONFormatter{}
fl.Out = f

ml := &multiLogger{Loggers: []logrus.FieldLogger{hl, fl}}
opts.Logger = ml
}

a := New(opts)

Expand Down
17 changes: 16 additions & 1 deletion logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,20 @@ type Logger interface {
Panic(...interface{})
}

var _ Logger = logrusWrapper{}

type logrusWrapper struct {
logrus.FieldLogger
}

func (l logrusWrapper) WithField(s string, i interface{}) Logger {
return logrusWrapper{l.FieldLogger.WithField(s, i)}
}

func (l logrusWrapper) WithFields(m map[string]interface{}) Logger {
return logrusWrapper{l.FieldLogger.WithFields(m)}
}

// NewLogger based on the specified log level.
// This logger will log to the STDOUT in a human readable,
// but parseable form.
Expand All @@ -30,5 +44,6 @@ type Logger interface {
func NewLogger(level string) Logger {
l := logrus.New()
l.Level, _ = logrus.ParseLevel(level)
return &multiLogger{Loggers: []logrus.FieldLogger{l}}
l.Formatter = &logrus.TextFormatter{}
return logrusWrapper{l}
}
99 changes: 0 additions & 99 deletions multi_logger.go

This file was deleted.

10 changes: 2 additions & 8 deletions options.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import (
"fmt"
"log"
"net/http"
"os"
"path/filepath"

"github.com/gobuffalo/envy"
"github.com/gorilla/sessions"
Expand All @@ -22,7 +20,6 @@ type Options struct {
Logger Logger
// LogDir is the path to the directory for storing the JSON log files from the
// default Logger
LogDir string
MethodOverride http.HandlerFunc
// SessionStore is the `github.com/gorilla/sessions` store used to back
// the session. It defaults to use a cookie store and the ENV variable
Expand All @@ -45,11 +42,8 @@ func optionsWithDefaults(opts Options) Options {
opts.Env = defaults.String(opts.Env, envy.Get("GO_ENV", "development"))
opts.LogLevel = defaults.String(opts.LogLevel, "debug")

pwd, _ := os.Getwd()
opts.LogDir = defaults.String(opts.LogDir, filepath.Join(pwd, "logs"))

if opts.Env == "test" {
opts.LogDir = os.TempDir()
if opts.Logger == nil {
opts.Logger = NewLogger(opts.LogLevel)
}

if opts.SessionStore == nil {
Expand Down