Skip to content
Snippets Groups Projects
Commit 3b98506d authored by Ming Deng's avatar Ming Deng
Browse files

Read the accesslog config from config file

parent 978fe8c5
No related branches found
No related tags found
No related merge requests found
......@@ -60,6 +60,7 @@ const (
FORKS_KEY = "forks"
DEFAULT_FORKS = 2
DEFAULT_TIMEOUT = 1000
ACCESS_LOG_KEY = "accesslog"
)
const (
......
......@@ -58,6 +58,7 @@ type ServiceConfig struct {
Retries string `yaml:"retries" json:"retries,omitempty" property:"retries"`
Params map[string]string `yaml:"params" json:"params,omitempty" property:"params"`
Token string `yaml:"token" json:"token,omitempty" property:"token"`
AccessLog string `yaml:"accesslog" json:"accesslog,omitempty" property:"accesslog"`
unexported *atomic.Bool
exported *atomic.Bool
rpcService common.RPCService
......@@ -188,6 +189,9 @@ func (srvconfig *ServiceConfig) getUrlMap() url.Values {
//filter
urlMap.Set(constant.SERVICE_FILTER_KEY, mergeValue(providerConfig.Filter, srvconfig.Filter, constant.DEFAULT_SERVICE_FILTERS))
//filter special config
urlMap.Set(constant.ACCESS_LOG_KEY, srvconfig.AccessLog)
for _, v := range srvconfig.Methods {
urlMap.Set("methods."+v.Name+"."+constant.LOADBALANCE_KEY, v.Loadbalance)
urlMap.Set("methods."+v.Name+"."+constant.RETRIES_KEY, v.Retries)
......
......@@ -34,7 +34,6 @@ import (
const (
//used in URL.
AccessLogKey = "accesslog"
FileDateFormat = "2006-01-02"
MessageDateLayout = "2006-01-02 15:04:05"
LogMaxBuffer = 5000
......@@ -46,7 +45,7 @@ const (
)
func init() {
extension.SetFilter(AccessLogKey, GetAccessLogFilter)
extension.SetFilter(constant.ACCESS_LOG_KEY, GetAccessLogFilter)
}
type AccessLogFilter struct {
......@@ -54,8 +53,7 @@ type AccessLogFilter struct {
}
func (ef *AccessLogFilter) Invoke(invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
accessLog := invoker.GetUrl().GetParam(AccessLogKey, "")
logger.Warnf(invoker.GetUrl().String())
accessLog := invoker.GetUrl().GetParam(constant.ACCESS_LOG_KEY, "")
if len(accessLog) > 0 {
accessLogData := AccessLogData{data: ef.buildAccessLogData(invoker, invocation), accessLog: accessLog}
ef.logIntoChannel(accessLogData)
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment