v1.2.1 增加es管道写入日志
This commit is contained in:
parent
f35dc15fb2
commit
8d7fdb2a98
28
README.md
28
README.md
@ -1,2 +1,30 @@
|
|||||||
# grlogs
|
# grlogs
|
||||||
|
本库为争游内部日志公共库
|
||||||
|
|
||||||
|
## 代码示例
|
||||||
|
|
||||||
|
1. 引入
|
||||||
|
```go
|
||||||
|
import "golib.gaore.com/GaoreGo/grlogs"
|
||||||
|
```
|
||||||
|
2. 简单用法
|
||||||
|
```go
|
||||||
|
grlogs.Get("test", 128).Info("hello word")
|
||||||
|
grlogs.Get("test").Warning("hello word")
|
||||||
|
```
|
||||||
|
lable 为通
|
||||||
|
3. 进阶用法
|
||||||
|
```go
|
||||||
|
logger := grlogs.GetEs("wifi")
|
||||||
|
logger.SetAdapter(LevelAll, AdapterElasticSearch)
|
||||||
|
logger.SetAdapter(LevelInfo, AdapterFile)
|
||||||
|
logger.Critical("出错了")
|
||||||
|
logger.Info("出错了")
|
||||||
|
```
|
||||||
|
|
||||||
|
4. 如果需要写入es, 必须设置环境变量 `GRLOG_APP_NAME`, 不能有反斜杠, 如
|
||||||
|
```shell script
|
||||||
|
export GRLOG_APP_NAME=mkt.gaore.com;
|
||||||
|
```
|
||||||
|
|
||||||
|
5. 文件日志会写入到 `./runtime/logs/` 文件夹 请务必在项目构建阶段创建该目录
|
@ -17,3 +17,7 @@ func TestGetLogger(t *testing.T) {
|
|||||||
Get("wifi").Error("neoweiwoewe")
|
Get("wifi").Error("neoweiwoewe")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetEs(t *testing.T) {
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -65,6 +65,7 @@ func (el *esLogger) Init(jsonconfig string) error {
|
|||||||
|
|
||||||
// WriteMsg will write the msg and level into es
|
// WriteMsg will write the msg and level into es
|
||||||
func (el *esLogger) WriteMsg(when time.Time, msg string, level int, lable string, env string) error {
|
func (el *esLogger) WriteMsg(when time.Time, msg string, level int, lable string, env string) error {
|
||||||
|
|
||||||
if level > el.Level {
|
if level > el.Level {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -76,6 +77,11 @@ func (el *esLogger) WriteMsg(when time.Time, msg string, level int, lable string
|
|||||||
vals["level_string"] = logs.GetLevelString(level)
|
vals["level_string"] = logs.GetLevelString(level)
|
||||||
vals["env"] = env
|
vals["env"] = env
|
||||||
vals["lable"] = lable
|
vals["lable"] = lable
|
||||||
|
vals["hostname"] = GetHostname()
|
||||||
|
vals["working_idr"] = Getwd()
|
||||||
|
vals["home_dir"] = GetUserHomename()
|
||||||
|
vals["hardware_addr"] = GetCurrentInterface().HardwareAddr
|
||||||
|
vals["client_addrs"] = GetCurrentInterfaceAddrs()
|
||||||
|
|
||||||
if el.IndexName == "" {
|
if el.IndexName == "" {
|
||||||
return errors.New("index name is empty")
|
return errors.New("index name is empty")
|
||||||
|
40
logs/es/sys.go
Normal file
40
logs/es/sys.go
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
package es
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetCurrentInterface() *net.Interface {
|
||||||
|
if inter, err := net.InterfaceByName("eth0"); err == nil {
|
||||||
|
return inter
|
||||||
|
} else if inter, err := net.InterfaceByName("en0"); err == nil {
|
||||||
|
return inter
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetCurrentInterfaceAddrs() string {
|
||||||
|
if inter := GetCurrentInterface(); inter != nil {
|
||||||
|
if addrs, err := inter.Addrs(); err == nil {
|
||||||
|
return fmt.Sprintf("%s", addrs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetHostname() string {
|
||||||
|
hostname, _ := os.Hostname()
|
||||||
|
return hostname
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetUserHomename() string {
|
||||||
|
homedir, _ := os.UserHomeDir()
|
||||||
|
return homedir
|
||||||
|
}
|
||||||
|
|
||||||
|
func Getwd() string {
|
||||||
|
wd, _ := os.Getwd()
|
||||||
|
return wd
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user