mirror of
https://github.com/astaxie/beego.git
synced 2024-11-21 23:00:55 +00:00
Add init to es.go
This commit is contained in:
parent
48a98ec1a5
commit
c5970766a3
@ -31,8 +31,10 @@ func NewES() logs.Logger {
|
|||||||
// import _ "github.com/astaxie/beego/logs/es"
|
// import _ "github.com/astaxie/beego/logs/es"
|
||||||
type esLogger struct {
|
type esLogger struct {
|
||||||
*elasticsearch.Client
|
*elasticsearch.Client
|
||||||
DSN string `json:"dsn"`
|
DSN string `json:"dsn"`
|
||||||
Level int `json:"level"`
|
Level int `json:"level"`
|
||||||
|
UseCustomFormatter bool
|
||||||
|
CustomFormatter func(*logs.LogMsg) string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (el *esLogger) Format(lm *logs.LogMsg) string {
|
func (el *esLogger) Format(lm *logs.LogMsg) string {
|
||||||
@ -40,7 +42,14 @@ func (el *esLogger) Format(lm *logs.LogMsg) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// {"dsn":"http://localhost:9200/","level":1}
|
// {"dsn":"http://localhost:9200/","level":1}
|
||||||
func (el *esLogger) Init(jsonconfig string) error {
|
func (el *esLogger) Init(jsonconfig string, LogFormatter ...func(*logs.LogMsg) string) error {
|
||||||
|
for _, elem := range LogFormatter {
|
||||||
|
if elem != nil {
|
||||||
|
el.UseCustomFormatter = true
|
||||||
|
el.CustomFormatter = elem
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
err := json.Unmarshal([]byte(jsonconfig), el)
|
err := json.Unmarshal([]byte(jsonconfig), el)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -69,9 +78,16 @@ func (el *esLogger) WriteMsg(lm *logs.LogMsg) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
msg := ""
|
||||||
|
if el.UseCustomFormatter {
|
||||||
|
msg = el.CustomFormatter(lm)
|
||||||
|
} else {
|
||||||
|
msg = el.Format(lm)
|
||||||
|
}
|
||||||
|
|
||||||
idx := LogDocument{
|
idx := LogDocument{
|
||||||
Timestamp: lm.When.Format(time.RFC3339),
|
Timestamp: lm.When.Format(time.RFC3339),
|
||||||
Msg: el.Format(lm),
|
Msg: msg,
|
||||||
}
|
}
|
||||||
|
|
||||||
body, err := json.Marshal(idx)
|
body, err := json.Marshal(idx)
|
||||||
|
Loading…
Reference in New Issue
Block a user