Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
二次元的罪恶王冠
beego
提交
fc56c562
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,发现更多精彩内容 >>
未验证
提交
fc56c562
编写于
7月 06, 2020
作者:
G
Gabriel Cruz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix logger reconnection
上级
d6ef33fe
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
54 addition
and
1 deletion
+54
-1
logs/conn.go
logs/conn.go
+0
-1
logs/conn_test.go
logs/conn_test.go
+54
-0
未找到文件。
logs/conn.go
浏览文件 @
fc56c562
...
...
@@ -101,7 +101,6 @@ func (c *connWriter) connect() error {
func
(
c
*
connWriter
)
needToConnectOnMsg
()
bool
{
if
c
.
Reconnect
{
c
.
Reconnect
=
false
return
true
}
...
...
logs/conn_test.go
浏览文件 @
fc56c562
...
...
@@ -15,11 +15,65 @@
package
logs
import
(
"net"
"os"
"testing"
)
// ConnTCPListener takes a TCP listener and accepts n TCP connections
// Returns connections using connChan
func
connTCPListener
(
t
*
testing
.
T
,
n
int
,
ln
net
.
Listener
,
connChan
chan
<-
net
.
Conn
)
{
// Listen and accept n incoming connections
for
i
:=
0
;
i
<
n
;
i
++
{
conn
,
err
:=
ln
.
Accept
()
if
err
!=
nil
{
t
.
Log
(
"Error accepting connection: "
,
err
.
Error
())
os
.
Exit
(
1
)
}
// Send accepted connection to channel
connChan
<-
conn
}
ln
.
Close
()
close
(
connChan
)
}
func
TestConn
(
t
*
testing
.
T
)
{
log
:=
NewLogger
(
1000
)
log
.
SetLogger
(
"conn"
,
`{"net":"tcp","addr":":7020"}`
)
log
.
Informational
(
"informational"
)
}
func
TestReconnect
(
t
*
testing
.
T
)
{
// Setup connection listener
newConns
:=
make
(
chan
net
.
Conn
)
connNum
:=
2
ln
,
err
:=
net
.
Listen
(
"tcp"
,
":6002"
)
if
err
!=
nil
{
t
.
Log
(
"Error listening:"
,
err
.
Error
())
os
.
Exit
(
1
)
}
go
connTCPListener
(
t
,
connNum
,
ln
,
newConns
)
// Setup logger
log
:=
NewLogger
(
1000
)
log
.
SetPrefix
(
"test"
)
log
.
SetLogger
(
AdapterConn
,
`{"net":"tcp","reconnect":true,"level":6,"addr":":6002"}`
)
log
.
Informational
(
"informational 1"
)
// Refuse first connection
first
:=
<-
newConns
first
.
Close
()
// Send another log after conn closed
log
.
Informational
(
"informational 2"
)
// Check if there was a second connection attempt
select
{
case
second
:=
<-
newConns
:
second
.
Close
()
default
:
t
.
Error
(
"Did not reconnect"
)
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录