Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
二次元的罪恶王冠
beego
提交
a3ece98c
B
beego
项目概览
二次元的罪恶王冠
/
beego
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
beego
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a3ece98c
编写于
9月 19, 2020
作者:
M
Ming Deng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add IndexNaming interface so users can custom the index name when they use es as the logger
上级
a1782cc2
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
79 addition
and
3 deletion
+79
-3
pkg/infrastructure/logs/es/es.go
pkg/infrastructure/logs/es/es.go
+5
-2
pkg/infrastructure/logs/es/index.go
pkg/infrastructure/logs/es/index.go
+39
-0
pkg/infrastructure/logs/es/index_test.go
pkg/infrastructure/logs/es/index_test.go
+34
-0
pkg/infrastructure/logs/formatter_test.go
pkg/infrastructure/logs/formatter_test.go
+1
-1
未找到文件。
pkg/infrastructure/logs/es/es.go
浏览文件 @
a3ece98c
...
...
@@ -18,7 +18,8 @@ import (
// NewES returns a LoggerInterface
func
NewES
()
logs
.
Logger
{
cw
:=
&
esLogger
{
Level
:
logs
.
LevelDebug
,
Level
:
logs
.
LevelDebug
,
indexNaming
:
indexNaming
,
}
return
cw
}
...
...
@@ -35,6 +36,8 @@ type esLogger struct {
Level
int
`json:"level"`
formatter
logs
.
LogFormatter
Formatter
string
`json:"formatter"`
indexNaming
IndexNaming
}
func
(
el
*
esLogger
)
Format
(
lm
*
logs
.
LogMsg
)
string
{
...
...
@@ -96,7 +99,7 @@ func (el *esLogger) WriteMsg(lm *logs.LogMsg) error {
msg
:=
el
.
formatter
.
Format
(
lm
)
req
:=
esapi
.
IndexRequest
{
Index
:
fmt
.
Sprintf
(
"%04d.%02d.%02d"
,
lm
.
When
.
Year
(),
lm
.
When
.
Month
(),
lm
.
When
.
Day
()
),
Index
:
indexNaming
.
IndexName
(
lm
),
DocumentType
:
"logs"
,
Body
:
strings
.
NewReader
(
msg
),
}
...
...
pkg/infrastructure/logs/es/index.go
0 → 100644
浏览文件 @
a3ece98c
// Copyright 2020
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package
es
import
(
"fmt"
"github.com/astaxie/beego/pkg/infrastructure/logs"
)
// IndexNaming generate the index name
type
IndexNaming
interface
{
IndexName
(
lm
*
logs
.
LogMsg
)
string
}
var
indexNaming
IndexNaming
=
&
defaultIndexNaming
{}
// SetIndexNaming will register global IndexNaming
func
SetIndexNaming
(
i
IndexNaming
)
{
indexNaming
=
i
}
type
defaultIndexNaming
struct
{}
func
(
d
*
defaultIndexNaming
)
IndexName
(
lm
*
logs
.
LogMsg
)
string
{
return
fmt
.
Sprintf
(
"%04d.%02d.%02d"
,
lm
.
When
.
Year
(),
lm
.
When
.
Month
(),
lm
.
When
.
Day
())
}
pkg/infrastructure/logs/es/index_test.go
0 → 100644
浏览文件 @
a3ece98c
// Copyright 2020
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package
es
import
(
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/astaxie/beego/pkg/infrastructure/logs"
)
func
TestDefaultIndexNaming_IndexName
(
t
*
testing
.
T
)
{
tm
:=
time
.
Date
(
2020
,
9
,
12
,
1
,
34
,
45
,
234
,
time
.
UTC
)
lm
:=
&
logs
.
LogMsg
{
When
:
tm
,
}
res
:=
(
&
defaultIndexNaming
{})
.
IndexName
(
lm
)
assert
.
Equal
(
t
,
"2020.09.12"
,
res
)
}
pkg/infrastructure/logs/formatter_test.go
浏览文件 @
a3ece98c
...
...
@@ -92,4 +92,4 @@ func TestPatternLogFormatter(t *testing.T) {
if
got
!=
want
{
t
.
Errorf
(
"want %s, got %s"
,
want
,
got
)
}
}
\ No newline at end of file
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录