|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- package grlogs
-
- import (
- "fmt"
- "github.com/astaxie/beego/logs"
- "os"
- "path"
- "strings"
- )
-
- var adatperSetMapper = map[Adapter]func(l *Logger, level Level) error{
-
- AdapterSocket: func(l *Logger, level Level) error {
- c := ConnLogConfig{
- ReconnectOnMsg: false,
- Reconnect: true,
- Net: "",
- Addr: "127.0.0.1:9888",
- Level: level,
- }
- return l.SetLogger(logs.AdapterConn, c.String())
- },
-
- AdapterFile: func(l *Logger, level Level) error {
- if wd, err := os.Getwd(); err == nil {
- c := FileLogConfig{
- Filename: path.Join(wd, fmt.Sprintf("runtime/logs/%s.log", l.Lable)),
- Level: level,
- Maxlines: 0,
- Daily: true,
- Maxdays: 7,
- Color: true,
- Rotate: true,
- }
-
- return l.SetLogger(logs.AdapterFile, c.String())
- } else {
- return err
- }
- },
-
- AdapterConsole: func(l *Logger, level Level) error {
- c := ConsoleLogConfig{Level: level}
- return l.SetLogger(logs.AdapterConsole, c.String())
- },
-
- AdapterElasticSearch: func(l *Logger, level Level) error {
- c := GenEsConfig(level)
- return l.SetLogger(logs.AdapterEs, c.String())
- },
-
- AdapterAliLs: func(l *Logger, level Level) error {
- c := GenAliConfig(level)
- return l.SetLogger(logs.AdapterAliLS, c.String())
- },
- }
-
- func GenAliConfig(level Level) *AliLSConfig {
- var project string = "gaore-app-logstore"
- var endpoint string
-
- if os.Getenv(envkey) == "prod" || os.Getenv(envkey) == "" || os.Getenv(envkey) == "gray" {
- endpoint = project + ".cn-shenzhen-intranet.log.aliyuncs.com"
- } else if os.Getenv(envkey) == "dev" {
- endpoint = project + ".cn-shenzhen.log.aliyuncs.com"
- }
-
- c := &AliLSConfig{
- Project: project,
- Endpoint: endpoint,
- KeyID: "LTAI4GCHwcqtrFD4DHRHxR4k",
- KeySecret: "Ln19xfVYy6OMlJeF9aBvFl4fhRUKBl",
- LogStore: "gaore-app-logstore",
- Topics: []string{os.Getenv("GRLOG_APP_NAME")},
- Source: "",
- Level: level,
- FlushWhen: 0,
- }
- return c
- }
-
- func GenEsConfig(level Level) *EsConfig {
- dsn := "http://es-cn-tl32xlfmu00015h34.public.elasticsearch.aliyuncs.com:9200/"
- if os.Getenv(envkey) == "prod" || os.Getenv(envkey) == "" || os.Getenv(envkey) == "gray" {
- dsn = "http://es-cn-tl32xlfmu00015h34.elasticsearch.aliyuncs.com:9200/"
- }
-
- c := &EsConfig{
- Username: "kaifa_api",
- Password: "2quYX3bTeahO",
- Dsn: dsn,
- Level: level,
- Index: os.Getenv("GRLOG_APP_NAME"),
- }
- return c
- }
-
- var adatperDropMapper = map[Adapter]func(l *Logger) error{
-
- AdapterAliLs: func(l *Logger) error {
- return l.BeeLogger.DelLogger(logs.AdapterAliLS)
- },
-
- AdapterFile: func(l *Logger) error {
- return l.BeeLogger.DelLogger(logs.AdapterFile)
- },
-
- AdapterConsole: func(l *Logger) error {
- return l.BeeLogger.DelLogger(logs.AdapterConsole)
- },
-
- AdapterElasticSearch: func(l *Logger) error {
- return l.BeeLogger.DelLogger(logs.AdapterEs)
- },
- }
-
- func formatLog(f interface{}, v ...interface{}) string {
- var msg string
- switch f.(type) {
- case string:
- msg = f.(string)
- if len(v) == 0 {
- return msg
- }
- if strings.Contains(msg, "%") && !strings.Contains(msg, "%%") {
- //format string
- } else {
- //do not contain format char
- msg += strings.Repeat(" %v", len(v))
- }
- default:
- msg = fmt.Sprint(f)
- if len(v) == 0 {
- return msg
- }
- msg += strings.Repeat(" %v", len(v))
- }
- return fmt.Sprintf(msg, v...)
- }
|