Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c3a7a957
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c3a7a957
编写于
12月 08, 2020
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-2371
上级
aa3df5f7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
25 deletion
+31
-25
src/util/inc/tnote.h
src/util/inc/tnote.h
+3
-2
src/util/src/tlog.c
src/util/src/tlog.c
+2
-0
src/util/src/tnote.c
src/util/src/tnote.c
+26
-23
未找到文件。
src/util/inc/tnote.h
浏览文件 @
c3a7a957
...
...
@@ -36,10 +36,11 @@ typedef struct {
extern
SNoteObj
tsHttpNote
;
extern
SNoteObj
tsTscNote
;
extern
SNoteObj
ts
Error
Note
;
extern
SNoteObj
ts
Info
Note
;
void
taosInitNotes
();
void
taosNotePrint
(
SNoteObj
*
pNote
,
const
char
*
const
format
,
...);
void
taosNotePrintBuffer
(
SNoteObj
*
pNote
,
char
*
buffer
,
int32_t
len
);
#define nPrintHttp(...) \
if (tsHttpEnableRecordSql) { \
...
...
@@ -51,7 +52,7 @@ void taosNotePrint(SNoteObj* pNote, const char* const format, ...);
taosNotePrint(&tsTscNote, __VA_ARGS__); \
}
#define n
Error(...) taosNotePrint(&tsErrorNote, __VA_ARGS__
);
#define n
Info(buffer, len) taosNotePrintBuffer(&tsInfoNote, buffer, len
);
#ifdef __cplusplus
}
...
...
src/util/src/tlog.c
浏览文件 @
c3a7a957
...
...
@@ -17,6 +17,7 @@
#include "os.h"
#include "tulog.h"
#include "tlog.h"
#include "tnote.h"
#include "tutil.h"
#define MAX_LOGLINE_SIZE (1000)
...
...
@@ -400,6 +401,7 @@ void taosPrintLog(const char *flags, int32_t dflag, const char *format, ...) {
}
if
(
dflag
&
DEBUG_SCREEN
)
taosWrite
(
1
,
buffer
,
(
uint32_t
)
len
);
if
(
dflag
==
255
)
nInfo
(
buffer
,
len
);
}
void
taosDumpData
(
unsigned
char
*
msg
,
int32_t
len
)
{
...
...
src/util/src/tnote.c
浏览文件 @
c3a7a957
...
...
@@ -21,12 +21,12 @@
SNoteObj
tsHttpNote
;
SNoteObj
tsTscNote
;
SNoteObj
ts
Error
Note
;
SNoteObj
ts
Info
Note
;
static
int32_t
taosOpenNoteWithMaxLines
(
char
*
fn
,
int32_t
maxLines
,
int32_t
maxNoteNum
,
SNoteObj
*
pNote
);
static
void
taosCloseNoteByFd
(
int32_t
oldFd
,
SNoteObj
*
pNote
);
static
int32_t
taosOpenNoteWithMaxLines
(
char
*
fn
,
int32_t
maxLines
,
int32_t
maxNoteNum
,
SNoteObj
*
pNote
);
static
void
taosCloseNoteByFd
(
int32_t
oldFd
,
SNoteObj
*
pNote
);
void
taosInitNote
(
int32_t
numOfLines
,
int32_t
maxNotes
,
SNoteObj
*
pNote
,
char
*
name
)
{
static
void
taosInitNote
(
int32_t
numOfLines
,
int32_t
maxNotes
,
SNoteObj
*
pNote
,
char
*
name
)
{
memset
(
pNote
,
0
,
sizeof
(
SNoteObj
));
pNote
->
fileNum
=
1
;
pNote
->
fd
=
-
1
;
...
...
@@ -54,12 +54,12 @@ void taosInitNotes() {
}
if
(
tscEmbedded
==
1
)
{
snprintf
(
name
,
TSDB_FILENAME_LEN
*
2
,
"%s/
note
"
,
tsLogDir
);
taosInitNote
(
tsNumOfLogLines
,
1
,
&
ts
Error
Note
,
name
);
snprintf
(
name
,
TSDB_FILENAME_LEN
*
2
,
"%s/
taosinfo
"
,
tsLogDir
);
taosInitNote
(
tsNumOfLogLines
,
1
,
&
ts
Info
Note
,
name
);
}
}
bool
taosLockNote
(
int32_t
fd
,
SNoteObj
*
pNote
)
{
static
bool
taosLockNote
(
int32_t
fd
,
SNoteObj
*
pNote
)
{
if
(
fd
<
0
)
return
false
;
if
(
pNote
->
fileNum
>
1
)
{
...
...
@@ -72,7 +72,7 @@ bool taosLockNote(int32_t fd, SNoteObj *pNote) {
return
false
;
}
void
taosUnLockNote
(
int32_t
fd
,
SNoteObj
*
pNote
)
{
static
void
taosUnLockNote
(
int32_t
fd
,
SNoteObj
*
pNote
)
{
if
(
fd
<
0
)
return
;
if
(
pNote
->
fileNum
>
1
)
{
...
...
@@ -80,7 +80,7 @@ void taosUnLockNote(int32_t fd, SNoteObj *pNote) {
}
}
void
*
taosThreadToOpenNewNote
(
void
*
param
)
{
static
void
*
taosThreadToOpenNewNote
(
void
*
param
)
{
char
name
[
NOTE_FILE_NAME_LEN
*
2
];
SNoteObj
*
pNote
=
(
SNoteObj
*
)
param
;
...
...
@@ -108,7 +108,7 @@ void *taosThreadToOpenNewNote(void *param) {
return
NULL
;
}
int32_t
taosOpenNewNote
(
SNoteObj
*
pNote
)
{
static
int32_t
taosOpenNewNote
(
SNoteObj
*
pNote
)
{
pthread_mutex_lock
(
&
pNote
->
mutex
);
if
(
pNote
->
lines
>
pNote
->
maxLines
&&
pNote
->
openInProgress
==
0
)
{
...
...
@@ -129,7 +129,7 @@ int32_t taosOpenNewNote(SNoteObj *pNote) {
return
pNote
->
fd
;
}
bool
taosCheckNoteIsOpen
(
char
*
noteName
,
SNoteObj
*
pNote
)
{
static
bool
taosCheckNoteIsOpen
(
char
*
noteName
,
SNoteObj
*
pNote
)
{
int32_t
fd
=
open
(
noteName
,
O_WRONLY
|
O_CREAT
,
S_IRWXU
|
S_IRWXG
|
S_IRWXO
);
if
(
fd
<
0
)
{
fprintf
(
stderr
,
"failed to open note:%s reason:%s
\n
"
,
noteName
,
strerror
(
errno
));
...
...
@@ -146,7 +146,7 @@ bool taosCheckNoteIsOpen(char *noteName, SNoteObj *pNote) {
}
}
void
taosGetNoteName
(
char
*
fn
,
SNoteObj
*
pNote
)
{
static
void
taosGetNoteName
(
char
*
fn
,
SNoteObj
*
pNote
)
{
if
(
pNote
->
fileNum
>
1
)
{
for
(
int32_t
i
=
0
;
i
<
pNote
->
fileNum
;
i
++
)
{
char
fileName
[
NOTE_FILE_NAME_LEN
];
...
...
@@ -169,7 +169,7 @@ void taosGetNoteName(char *fn, SNoteObj *pNote) {
}
}
int32_t
taosOpenNoteWithMaxLines
(
char
*
fn
,
int32_t
maxLines
,
int32_t
maxNoteNum
,
SNoteObj
*
pNote
)
{
static
int32_t
taosOpenNoteWithMaxLines
(
char
*
fn
,
int32_t
maxLines
,
int32_t
maxNoteNum
,
SNoteObj
*
pNote
)
{
char
name
[
NOTE_FILE_NAME_LEN
*
2
]
=
{
0
};
int32_t
size
;
struct
stat
logstat0
,
logstat1
;
...
...
@@ -227,6 +227,16 @@ int32_t taosOpenNoteWithMaxLines(char *fn, int32_t maxLines, int32_t maxNoteNum,
return
0
;
}
void
taosNotePrintBuffer
(
SNoteObj
*
pNote
,
char
*
buffer
,
int32_t
len
)
{
if
(
pNote
->
fd
<
0
)
return
;
taosWrite
(
pNote
->
fd
,
buffer
,
len
);
if
(
pNote
->
maxLines
>
0
)
{
pNote
->
lines
++
;
if
((
pNote
->
lines
>
pNote
->
maxLines
)
&&
(
pNote
->
openInProgress
==
0
))
taosOpenNewNote
(
pNote
);
}
}
void
taosNotePrint
(
SNoteObj
*
pNote
,
const
char
*
const
format
,
...)
{
va_list
argpointer
;
char
buffer
[
MAX_NOTE_LINE_SIZE
+
2
];
...
...
@@ -249,19 +259,12 @@ void taosNotePrint(SNoteObj *pNote, const char *const format, ...) {
buffer
[
len
++
]
=
'\n'
;
buffer
[
len
]
=
0
;
if
(
pNote
->
fd
>=
0
)
{
taosWrite
(
pNote
->
fd
,
buffer
,
len
);
if
(
pNote
->
maxLines
>
0
)
{
pNote
->
lines
++
;
if
((
pNote
->
lines
>
pNote
->
maxLines
)
&&
(
pNote
->
openInProgress
==
0
))
taosOpenNewNote
(
pNote
);
}
}
taosNotePrintBuffer
(
pNote
,
buffer
,
len
);
}
void
taosCloseNote
(
SNoteObj
*
pNote
)
{
taosCloseNoteByFd
(
pNote
->
fd
,
pNote
);
}
// static
void taosCloseNote(SNoteObj *pNote) { taosCloseNoteByFd(pNote->fd, pNote); }
void
taosCloseNoteByFd
(
int32_t
fd
,
SNoteObj
*
pNote
)
{
static
void
taosCloseNoteByFd
(
int32_t
fd
,
SNoteObj
*
pNote
)
{
if
(
fd
>=
0
)
{
taosUnLockNote
(
fd
,
pNote
);
close
(
fd
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录