Logrus Easy Formatter
Provided formatter allow to easily format Logrus log output Some inspiration taken from logrus-prefixed-formatter
Default output
When format options are not provided Formatter
will output
[INFO] 2006-01-02 15:04:05.9999 main.main Line:21 - Log message
Sample Usage
Sample usage using available option to format output
package main
import (
"os"
"github.com/sirupsen/logrus"
easy "github.com/yyeiei/logrus-easy-formatter"
)
func main() {
logger := &logrus.Logger{
Out: os.Stderr,
Level: logrus.DebugLevel,
Formatter: &easy.Formatter{
TimestampFormat: "2006-01-02 15:04:05",
LogFormat: "[%level%]: %time% - %msg%",
},
}
logger.Printf("Log message")
}
Above sample will produce:
[INFO]: 27-02-2018 19:16:55 - Log message
Usage with custom fields
Package also allows to include custom fields and format them(for now only limited to strings)
package main
import (
"os"
"github.com/sirupsen/logrus"
easy "github.com/t-tomalak/logrus-easy-formatter"
)
func main() {
logger := &logrus.Logger{
Out: os.Stderr,
Level: logrus.DebugLevel,
Formatter: &easy.Formatter{
LogFormat: "[%level%] %time% - %msg% {%customField%}",
},
}
logger.WithField("customField", "Sample value").Printf("Log message")
}
And after running will output
[INFO] 27-02-2018 19:16:55 - Log message - {Sample value}
ToDo
- Customizable timestamp formats
- Customizable output formats
- Add tests
- Support for custom fields other then
string
- Tests against all characters
License
This project is under the MIT License. See the LICENSE file for the full license text.