minor (see previous commit)

This commit is contained in:
Gerasimos (Makis) Maropoulos 2020-09-07 11:53:16 +03:00
parent 07806ba270
commit b063fbf3c8
No known key found for this signature in database
GPG Key ID: 5DBE766BD26A54E7
3 changed files with 19 additions and 1 deletions

View File

@ -41,6 +41,16 @@ func main() {
ac.SetFormatter(&accesslog.Template{ ac.SetFormatter(&accesslog.Template{
Text: "{{.Now.Format .TimeFormat}}|{{.Latency}}|{{.Method}}|{{.Path}}|{{.RequestValuesLine}}|{{.Code}}|{{.Request}}|{{.Response}}|\n", Text: "{{.Now.Format .TimeFormat}}|{{.Latency}}|{{.Method}}|{{.Path}}|{{.RequestValuesLine}}|{{.Code}}|{{.Request}}|{{.Response}}|\n",
}) })
Set custom request fields:
ac.AddField(func(ctx iris.Context) (string, interface{}) {
v := ctx.RemoteAddr()
if v == "" {
return "", nil
}
// the log entry name and its value.
return "IP", v
})
*/ */
defer ac.Close() defer ac.Close()

View File

@ -1129,6 +1129,8 @@ type (
// The structure contains struct tags for JSON, form, XML, YAML and TOML. // The structure contains struct tags for JSON, form, XML, YAML and TOML.
// Look the `GetReferrer() Referrer` and `goreferrer` external package. // Look the `GetReferrer() Referrer` and `goreferrer` external package.
Referrer struct { Referrer struct {
// The raw refer(r)er URL.
Raw string `json:"raw" form:"raw" xml:"Raw" yaml:"Raw" toml:"Raw"`
Type ReferrerType `json:"type" form:"referrer_type" xml:"Type" yaml:"Type" toml:"Type"` Type ReferrerType `json:"type" form:"referrer_type" xml:"Type" yaml:"Type" toml:"Type"`
Label string `json:"label" form:"referrer_form" xml:"Label" yaml:"Label" toml:"Label"` Label string `json:"label" form:"referrer_form" xml:"Label" yaml:"Label" toml:"Label"`
URL string `json:"url" form:"referrer_url" xml:"URL" yaml:"URL" toml:"URL"` URL string `json:"url" form:"referrer_url" xml:"URL" yaml:"URL" toml:"URL"`
@ -1147,6 +1149,11 @@ type (
ReferrerGoogleSearchType = goreferrer.GoogleSearchType ReferrerGoogleSearchType = goreferrer.GoogleSearchType
) )
// String returns the raw ref url.
func (ref Referrer) String() string {
return ref.Raw
}
// Contains the available values of the goreferrer enums. // Contains the available values of the goreferrer enums.
const ( const (
ReferrerInvalid ReferrerType = iota ReferrerInvalid ReferrerType = iota
@ -1187,6 +1194,7 @@ func (ctx *Context) GetReferrer() Referrer {
if ref := goreferrer.DefaultRules.Parse(refURL); ref.Type > goreferrer.Invalid { if ref := goreferrer.DefaultRules.Parse(refURL); ref.Type > goreferrer.Invalid {
return Referrer{ return Referrer{
Raw: refURL,
Type: ReferrerType(ref.Type), Type: ReferrerType(ref.Type),
Label: ref.Label, Label: ref.Label,
URL: ref.URL, URL: ref.URL,

View File

@ -257,7 +257,7 @@ func (ac *AccessLog) after(ctx *context.Context, lat time.Duration, method, path
var fields []memstore.Entry var fields []memstore.Entry
if n := len(ac.Fields); n > 0 { if n := len(ac.Fields); n > 0 {
fields = make([]memstore.Entry, n) fields = make([]memstore.Entry, 0, n)
for _, extract := range ac.Fields { for _, extract := range ac.Fields {
key, value := extract(ctx) key, value := extract(ctx)