Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
common
firebolt
Commits
980875e0
Commit
980875e0
authored
1 year ago
by
JaydenLink
Browse files
Options
Download
Email Patches
Plain Diff
feat: add redis & db apm tracker
parent
c7289d28
main
v0.2.3
v0.2.2
v0.2.1
v0.2.0
v0.1.9
v0.1.8
v0.1.7
v0.1.6
No related merge requests found
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
common/bvlog/bvlog.go
+4
-5
common/bvlog/bvlog.go
common/bvlog/logger.go
+1
-1
common/bvlog/logger.go
common/bvlog/logger_context.go
+16
-16
common/bvlog/logger_context.go
firebolt.go
+5
-0
firebolt.go
internal/logger/bvlog.go
+1
-1
internal/logger/bvlog.go
internal/setup/global.go
+2
-2
internal/setup/global.go
internal/setup/http_server.go
+1
-1
internal/setup/http_server.go
pkg/db/redis.go
+2
-0
pkg/db/redis.go
with
32 additions
and
26 deletions
+32
-26
common/bvlog/bvlog.go
View file @
980875e0
...
...
@@ -10,10 +10,9 @@ import (
"google.golang.org/grpc/metadata"
)
// 此文件代码为了兼容老的代码,如果去除这个文件,需要移除以下代码后
yk
logger包同样能运行:
// 此文件代码为了兼容老的代码,如果去除这个文件,需要移除以下代码后
bv
logger包同样能运行:
// 1,去除EmptyLoggerContext及_test中的WithLogData
// 2,去除LoggerContextIface中的WithLogData
// 3, 去除yklog_test.go文件
// 4, contextCall添加到logger_context_test.go中
const
(
...
...
@@ -41,13 +40,13 @@ var levelMap = map[string]uint8{
func
InitGlobalConfig
(
rootPath
string
,
level
string
,
appName
string
)
error
{
if
rootPath
==
""
{
return
errors
.
New
(
"
yk
log初始化全局配置失败,参数rootPath不能为空"
)
return
errors
.
New
(
"
bv
log初始化全局配置失败,参数rootPath不能为空"
)
}
if
_
,
ok
:=
levelMap
[
level
];
!
ok
{
return
errors
.
New
(
"
yk
log初始化全局配置失败,参数level错误"
)
return
errors
.
New
(
"
bv
log初始化全局配置失败,参数level错误"
)
}
if
appName
==
""
{
return
errors
.
New
(
"
yk
log初始化全局配置失败,参數appName不能为空"
)
return
errors
.
New
(
"
bv
log初始化全局配置失败,参數appName不能为空"
)
}
globalRootPath
=
rootPath
globalLevel
=
levelMap
[
level
]
...
...
This diff is collapsed.
Click to expand it.
common/bvlog/logger.go
View file @
980875e0
...
...
@@ -25,7 +25,7 @@ func CreateLogger(logConf LoggerConf) (LoggerContextIface, error) {
}
else
{
ioLogger
=
zerolog
.
New
(
fileWriter
)
}
//ioLogger.Level(zerolog.Level(
yk
Logger.loggerConf.Level))
//ioLogger.Level(zerolog.Level(
bv
Logger.loggerConf.Level))
bvLogger
.
logger
=
&
ioLogger
return
bvLogger
,
nil
...
...
This diff is collapsed.
Click to expand it.
common/bvlog/logger_context.go
View file @
980875e0
...
...
@@ -97,20 +97,20 @@ type LoggerContext struct {
}
// 用于全局设置logger对象的公共输出字段
// 例如:logger = logger.WithCommonFields(
yk
logger.Fields{"app-name":"project" })
// 例如:logger = logger.WithCommonFields(
bv
logger.Fields{"app-name":"project" })
// {"level":"info",app-name":"project", "attach":{"process-id":25921,"speed":"33.771µs"},"msg":"for test"}
func
(
l
*
LoggerContext
)
WithCommonFields
(
commonFields
Fields
)
LoggerContextIface
{
yk
Logger
:=
l
.
clone
()
yk
Logger
.
commonFields
=
append
(
yk
Logger
.
commonFields
,
commonFields
)
return
yk
Logger
bv
Logger
:=
l
.
clone
()
bv
Logger
.
commonFields
=
append
(
bv
Logger
.
commonFields
,
commonFields
)
return
bv
Logger
}
// 用于输出自定义字段,同时又不影响整体的日志格式(将fields中指定的字段及值附加到attach中)
// {"level":"info","attach":{"process-id":25921,"speed":"33.771µs"},"msg":"for test"}
func
(
l
*
LoggerContext
)
WithFields
(
fields
Fields
)
LoggerContextIface
{
yk
Logger
:=
l
.
clone
()
yk
Logger
.
fields
=
append
(
yk
Logger
.
fields
,
fields
)
return
yk
Logger
bv
Logger
:=
l
.
clone
()
bv
Logger
.
fields
=
append
(
bv
Logger
.
fields
,
fields
)
return
bv
Logger
}
func
(
l
*
LoggerContext
)
WithContext
(
ctx
context
.
Context
)
LoggerContextIface
{
...
...
@@ -123,21 +123,21 @@ func (l *LoggerContext) WithContext(ctx context.Context) LoggerContextIface {
}
func
(
l
*
LoggerContext
)
Tag
(
tag
string
)
LoggerContextIface
{
yk
Logger
:=
l
.
clone
()
yk
Logger
.
tag
=
tag
return
yk
Logger
bv
Logger
:=
l
.
clone
()
bv
Logger
.
tag
=
tag
return
bv
Logger
}
func
(
l
*
LoggerContext
)
RequestId
(
requestId
string
)
LoggerContextIface
{
yk
Logger
:=
l
.
clone
()
yk
Logger
.
requestId
=
requestId
return
yk
Logger
bv
Logger
:=
l
.
clone
()
bv
Logger
.
requestId
=
requestId
return
bv
Logger
}
func
(
l
*
LoggerContext
)
WithCaller
(
skip
int
)
LoggerContextIface
{
yk
Logger
:=
l
.
clone
()
yk
Logger
.
callerSkip
=
skip
return
yk
Logger
bv
Logger
:=
l
.
clone
()
bv
Logger
.
callerSkip
=
skip
return
bv
Logger
}
func
(
l
*
LoggerContext
)
Debug
(
ctx
context
.
Context
,
args
...
interface
{})
{
...
...
This diff is collapsed.
Click to expand it.
firebolt.go
View file @
980875e0
...
...
@@ -4,6 +4,7 @@ import (
"context"
"crypto/tls"
"github.com/gin-gonic/gin"
"github.com/go-redis/redis/v8"
"github.com/grpc-ecosystem/grpc-gateway/runtime"
"github.com/robfig/cron"
"gitlab.blockvision.org/common/firebolt/common/bvlog"
...
...
@@ -221,3 +222,7 @@ type ConfigerIface interface {
LoadAppConfig
(
*
Application
)
error
WatchUpdateConfig
()
}
type
RedisConnIface
interface
{
GetClient
()
*
redis
.
ClusterClient
}
This diff is collapsed.
Click to expand it.
internal/logger/
yk
log.go
→
internal/logger/
bv
log.go
View file @
980875e0
...
...
@@ -8,7 +8,7 @@ import (
const
(
// 日志打印时默认的堆栈跳过层数
DefaultCallerSkip
=
bvlog
.
YK
LOG_CALLER_SKIP
+
1
DefaultCallerSkip
=
bvlog
.
BV
LOG_CALLER_SKIP
+
1
)
type
ErrLoggerContextIface
interface
{
...
...
This diff is collapsed.
Click to expand it.
internal/setup/global.go
View file @
980875e0
...
...
@@ -10,7 +10,7 @@ import (
// 初始化全局日志配置(指定公司内部约定路径和服务名)
func
NewLogGlobalConfig
(
application
*
firebolt
.
Application
)
error
{
rootPath
:=
"/v
ar
/log/service"
rootPath
:=
"/
b
v/log
s
/service"
if
application
.
LoggerRootPath
!=
""
{
rootPath
=
application
.
LoggerRootPath
...
...
@@ -19,7 +19,7 @@ func NewLogGlobalConfig(application *firebolt.Application) error {
}
err
:=
bvlog
.
InitGlobalConfig
(
rootPath
,
"debug"
,
application
.
Name
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"
Yk
log.InitGlobalConfig: %v"
,
err
)
return
fmt
.
Errorf
(
"
bv
log.InitGlobalConfig: %v"
,
err
)
}
firebolt
.
Logger
,
err
=
helper
.
NewLogger
()
...
...
This diff is collapsed.
Click to expand it.
internal/setup/http_server.go
View file @
980875e0
...
...
@@ -17,7 +17,7 @@ func NewHTTPApplication(httpApp *firebolt.HTTPApplication) error {
var
err
error
httpApp
.
TrackLogger
,
err
=
bvlog
.
GetAccessLogger
(
"http.track"
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"
Yk
log.GetAccessLogger: %v"
,
err
)
return
fmt
.
Errorf
(
"
bv
log.GetAccessLogger: %v"
,
err
)
}
return
nil
}
...
...
This diff is collapsed.
Click to expand it.
pkg/db/redis.go
View file @
980875e0
...
...
@@ -6,6 +6,7 @@ import (
"github.com/go-redis/redis/v8"
"gitlab.blockvision.org/common/firebolt/pkg/config"
"gitlab.blockvision.org/common/firebolt/pkg/log"
"go.elastic.co/apm/module/apmgoredisv8/v2"
"go.uber.org/atomic"
"time"
)
...
...
@@ -23,6 +24,7 @@ func InitRedisClient() (*redis.ClusterClient, error) {
hook
:=
new
(
RedisLoggerHook
)
redisClient
.
AddHook
(
hook
)
}
redisClient
.
AddHook
(
apmgoredisv8
.
NewHook
())
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
TODO
(),
5
*
time
.
Second
)
defer
cancel
()
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help