diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 33f7a1ce7..08db2b4ed 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -38,6 +38,10 @@ "ImportPath": "github.com/bkaradzic/go-lz4", "Rev": "93a831dcee242be64a9cc9803dda84af25932de7" }, + { + "ImportPath": "github.com/calmh/logger", + "Rev": "f50d32b313bec2933a3e1049f7416a29f3413d29" + }, { "ImportPath": "github.com/calmh/osext", "Rev": "9bf61584e5f1f172e8766ddc9022d9c401faaa5e" diff --git a/Godeps/_workspace/src/github.com/calmh/logger/LICENSE b/Godeps/_workspace/src/github.com/calmh/logger/LICENSE new file mode 100644 index 000000000..fa5b4e205 --- /dev/null +++ b/Godeps/_workspace/src/github.com/calmh/logger/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2013 Jakob Borg + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +- The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Godeps/_workspace/src/github.com/calmh/logger/README.md b/Godeps/_workspace/src/github.com/calmh/logger/README.md new file mode 100644 index 000000000..badb2027c --- /dev/null +++ b/Godeps/_workspace/src/github.com/calmh/logger/README.md @@ -0,0 +1,14 @@ +logger +====== + +A small wrapper around `log` to provide log levels. + +Documentation +------------- + +http://godoc.org/github.com/calmh/logger + +License +------- + +MIT diff --git a/internal/logger/logger.go b/Godeps/_workspace/src/github.com/calmh/logger/logger.go similarity index 73% rename from internal/logger/logger.go rename to Godeps/_workspace/src/github.com/calmh/logger/logger.go index a28b0f334..103021bfc 100644 --- a/internal/logger/logger.go +++ b/Godeps/_workspace/src/github.com/calmh/logger/logger.go @@ -1,17 +1,5 @@ -// Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file). -// -// This program is free software: you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation, either version 3 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -// You should have received a copy of the GNU General Public License along -// with this program. If not, see . +// Copyright (C) 2014 Jakob Borg. All rights reserved. Use of this source code +// is governed by an MIT-style license that can be found in the LICENSE file. // Package logger implements a standardized logger with callback functionality package logger @@ -35,6 +23,7 @@ const ( NumLevels ) +// A MessageHandler is called with the log level and message text. type MessageHandler func(l LogLevel, msg string) type Logger struct { @@ -43,6 +32,7 @@ type Logger struct { mut sync.Mutex } +// The default logger logs to standard output with a time prefix. var DefaultLogger = New() func New() *Logger { @@ -51,16 +41,20 @@ func New() *Logger { } } +// AddHandler registers a new MessageHandler to receive messages with the +// specified log level or above. func (l *Logger) AddHandler(level LogLevel, h MessageHandler) { l.mut.Lock() defer l.mut.Unlock() l.handlers[level] = append(l.handlers[level], h) } +// See log.SetFlags func (l *Logger) SetFlags(flag int) { l.logger.SetFlags(flag) } +// See log.SetPrefix func (l *Logger) SetPrefix(prefix string) { l.logger.SetPrefix(prefix) } @@ -71,6 +65,7 @@ func (l *Logger) callHandlers(level LogLevel, s string) { } } +// Debugln logs a line with a DEBUG prefix. func (l *Logger) Debugln(vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -79,6 +74,7 @@ func (l *Logger) Debugln(vals ...interface{}) { l.callHandlers(LevelDebug, s) } +// Debugf logs a formatted line with a DEBUG prefix. func (l *Logger) Debugf(format string, vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -86,6 +82,8 @@ func (l *Logger) Debugf(format string, vals ...interface{}) { l.logger.Output(2, "DEBUG: "+s) l.callHandlers(LevelDebug, s) } + +// Infoln logs a line with an INFO prefix. func (l *Logger) Infoln(vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -94,6 +92,7 @@ func (l *Logger) Infoln(vals ...interface{}) { l.callHandlers(LevelInfo, s) } +// Infof logs a formatted line with an INFO prefix. func (l *Logger) Infof(format string, vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -102,6 +101,7 @@ func (l *Logger) Infof(format string, vals ...interface{}) { l.callHandlers(LevelInfo, s) } +// Okln logs a line with an OK prefix. func (l *Logger) Okln(vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -110,6 +110,7 @@ func (l *Logger) Okln(vals ...interface{}) { l.callHandlers(LevelOK, s) } +// Okf logs a formatted line with an OK prefix. func (l *Logger) Okf(format string, vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -118,6 +119,7 @@ func (l *Logger) Okf(format string, vals ...interface{}) { l.callHandlers(LevelOK, s) } +// Warnln logs a formatted line with a WARNING prefix. func (l *Logger) Warnln(vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -126,6 +128,7 @@ func (l *Logger) Warnln(vals ...interface{}) { l.callHandlers(LevelWarn, s) } +// Warnf logs a formatted line with a WARNING prefix. func (l *Logger) Warnf(format string, vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -134,6 +137,8 @@ func (l *Logger) Warnf(format string, vals ...interface{}) { l.callHandlers(LevelWarn, s) } +// Fatalln logs a line with a FATAL prefix and exits the process with exit +// code 1. func (l *Logger) Fatalln(vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() @@ -143,6 +148,8 @@ func (l *Logger) Fatalln(vals ...interface{}) { os.Exit(1) } +// Fatalf logs a formatted line with a FATAL prefix and exits the process with +// exit code 1. func (l *Logger) Fatalf(format string, vals ...interface{}) { l.mut.Lock() defer l.mut.Unlock() diff --git a/internal/logger/logger_test.go b/Godeps/_workspace/src/github.com/calmh/logger/logger_test.go similarity index 63% rename from internal/logger/logger_test.go rename to Godeps/_workspace/src/github.com/calmh/logger/logger_test.go index 6243fdc2c..39f25ea28 100644 --- a/internal/logger/logger_test.go +++ b/Godeps/_workspace/src/github.com/calmh/logger/logger_test.go @@ -1,17 +1,5 @@ -// Copyright (C) 2014 Jakob Borg and Contributors (see the CONTRIBUTORS file). -// -// This program is free software: you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation, either version 3 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -// You should have received a copy of the GNU General Public License along -// with this program. If not, see . +// Copyright (C) 2014 Jakob Borg. All rights reserved. Use of this source code +// is governed by an MIT-style license that can be found in the LICENSE file. package logger diff --git a/cmd/syncthing/gui.go b/cmd/syncthing/gui.go index 97a65fa98..ed219db9e 100644 --- a/cmd/syncthing/gui.go +++ b/cmd/syncthing/gui.go @@ -32,11 +32,11 @@ import ( "time" "code.google.com/p/go.crypto/bcrypt" + "github.com/calmh/logger" "github.com/syncthing/syncthing/internal/auto" "github.com/syncthing/syncthing/internal/config" "github.com/syncthing/syncthing/internal/discover" "github.com/syncthing/syncthing/internal/events" - "github.com/syncthing/syncthing/internal/logger" "github.com/syncthing/syncthing/internal/model" "github.com/syncthing/syncthing/internal/osutil" "github.com/syncthing/syncthing/internal/protocol" diff --git a/cmd/syncthing/main.go b/cmd/syncthing/main.go index e862b9a91..ad0f0ef58 100644 --- a/cmd/syncthing/main.go +++ b/cmd/syncthing/main.go @@ -37,12 +37,12 @@ import ( "time" "code.google.com/p/go.crypto/bcrypt" + "github.com/calmh/logger" "github.com/juju/ratelimit" "github.com/syncthing/syncthing/internal/config" "github.com/syncthing/syncthing/internal/discover" "github.com/syncthing/syncthing/internal/events" "github.com/syncthing/syncthing/internal/files" - "github.com/syncthing/syncthing/internal/logger" "github.com/syncthing/syncthing/internal/model" "github.com/syncthing/syncthing/internal/osutil" "github.com/syncthing/syncthing/internal/protocol" diff --git a/internal/beacon/debug.go b/internal/beacon/debug.go index 44d0f754a..2295a2e21 100644 --- a/internal/beacon/debug.go +++ b/internal/beacon/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/config/config.go b/internal/config/config.go index bc0ea4e7d..c036995b0 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -27,7 +27,7 @@ import ( "strconv" "code.google.com/p/go.crypto/bcrypt" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" "github.com/syncthing/syncthing/internal/osutil" "github.com/syncthing/syncthing/internal/protocol" ) diff --git a/internal/discover/debug.go b/internal/discover/debug.go index d6bee5169..61b779845 100644 --- a/internal/discover/debug.go +++ b/internal/discover/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/events/debug.go b/internal/events/debug.go index fc26a4c89..441036314 100644 --- a/internal/events/debug.go +++ b/internal/events/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/files/debug.go b/internal/files/debug.go index 090eb064f..73520ce40 100644 --- a/internal/files/debug.go +++ b/internal/files/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/model/debug.go b/internal/model/debug.go index 54788aa71..533fd6abc 100644 --- a/internal/model/debug.go +++ b/internal/model/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/protocol/debug.go b/internal/protocol/debug.go index 930aaf344..c46f4a984 100644 --- a/internal/protocol/debug.go +++ b/internal/protocol/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/scanner/debug.go b/internal/scanner/debug.go index 89eef958a..bffd48cbf 100644 --- a/internal/scanner/debug.go +++ b/internal/scanner/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/stats/debug.go b/internal/stats/debug.go index 9603c31b1..7e0608ef8 100755 --- a/internal/stats/debug.go +++ b/internal/stats/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/upgrade/debug.go b/internal/upgrade/debug.go index f1bb73859..c7406c07c 100644 --- a/internal/upgrade/debug.go +++ b/internal/upgrade/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/upnp/debug.go b/internal/upnp/debug.go index b756bd740..9a339d198 100644 --- a/internal/upnp/debug.go +++ b/internal/upnp/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var ( diff --git a/internal/versioner/debug.go b/internal/versioner/debug.go index 6964b7ec9..556094e6a 100644 --- a/internal/versioner/debug.go +++ b/internal/versioner/debug.go @@ -19,7 +19,7 @@ import ( "os" "strings" - "github.com/syncthing/syncthing/internal/logger" + "github.com/calmh/logger" ) var (