Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
57e91054
Commit
57e91054
authored
3 years ago
by
ziyue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
合并日志相关pr: #1077
parent
7d456a05
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
43 行增加
和
73 行删除
+43
-73
3rdpart/ZLToolKit
+1
-1
api/include/mk_common.h
+11
-25
api/include/mk_events.h
+2
-2
api/source/mk_common.cpp
+17
-33
api/source/mk_events.cpp
+8
-7
api/tests/h264_media_server.c
+1
-0
api/tests/pusher.c
+1
-0
api/tests/server.c
+1
-0
api/tests/websocket.c
+1
-0
src/Common/config.cpp
+0
-1
src/Common/config.h
+0
-4
没有找到文件。
ZLToolKit
@
36d1122f
Subproject commit
6214f5028763c5245d79d4c6c9d50bc780c8d6b
7
Subproject commit
36d1122f42ab6b92d0ca8f57df0462acc632efc
7
This diff is collapsed.
Click to expand it.
api/include/mk_common.h
查看文件 @
57e91054
...
...
@@ -38,18 +38,25 @@
extern
"C"
{
#endif
//输出日志到shell
#define LOG_CONSOLE (1 << 0)
//输出日志到文件
#define LOG_FILE (1 << 1)
//输出日志到回调函数(mk_events::on_mk_log)
#define LOG_CALLBACK (1 << 2)
typedef
struct
{
// 线程数
int
thread_num
;
// 日志级别,支持0~4
int
log_level
;
//控制日志输出的掩模,请查看LOG_CONSOLE、LOG_FILE、LOG_CALLBACK等宏
int
log_mask
;
//文件日志保存路径,路径可以不存在(内部可以创建文件夹),设置为NULL关闭日志输出至文件
const
char
*
log_file_path
;
//文件日志保存天数,设置为0关闭日志文件
int
log_file_days
;
// 是否关闭 控制台 日志
int
disable_console_log
;
// 配置文件是内容还是路径
int
ini_is_path
;
...
...
@@ -79,6 +86,7 @@ API_EXPORT void API_CALL mk_stop_all_server();
* 基础类型参数版本的mk_env_init,为了方便其他语言调用
* @param thread_num 线程数
* @param log_level 日志级别,支持0~4
* @param log_mask 日志输出方式掩模,请查看LOG_CONSOLE、LOG_FILE、LOG_CALLBACK等宏
* @param log_file_path 文件日志保存路径,路径可以不存在(内部可以创建文件夹),设置为NULL关闭日志输出至文件
* @param log_file_days 文件日志保存天数,设置为0关闭日志文件
* @param ini_is_path 配置文件是内容还是路径
...
...
@@ -89,6 +97,7 @@ API_EXPORT void API_CALL mk_stop_all_server();
*/
API_EXPORT
void
API_CALL
mk_env_init1
(
int
thread_num
,
int
log_level
,
int
log_mask
,
const
char
*
log_file_path
,
int
log_file_days
,
int
ini_is_path
,
...
...
@@ -96,29 +105,6 @@ API_EXPORT void API_CALL mk_env_init1(int thread_num,
int
ssl_is_path
,
const
char
*
ssl
,
const
char
*
ssl_pwd
);
/**
* 基础类型参数版本的mk_env_init,为了方便其他语言调用
* @param thread_num 线程数
* @param log_level 日志级别,支持0~4
* @param log_file_path 文件日志保存路径,路径可以不存在(内部可以创建文件夹),设置为NULL关闭日志输出至文件
* @param log_file_days 文件日志保存天数,设置为0关闭日志文件
* @param ini_is_path 配置文件是内容还是路径
* @param ini 配置文件内容或路径,可以为NULL,如果该文件不存在,那么将导出默认配置至该文件
* @param ssl_is_path ssl证书是内容还是路径
* @param ssl ssl证书内容或路径,可以为NULL
* @param ssl_pwd 证书密码,可以为NULL
* @param disable_console_log 是否关闭 控制台 日志
*/
API_EXPORT
void
API_CALL
mk_env_init2
(
int
thread_num
,
int
log_level
,
const
char
*
log_file_path
,
int
log_file_days
,
int
ini_is_path
,
const
char
*
ini
,
int
ssl_is_path
,
const
char
*
ssl
,
const
char
*
ssl_pwd
,
int
disable_console_log
);
/**
* 设置配置项
...
...
This diff is collapsed.
Click to expand it.
api/include/mk_events.h
查看文件 @
57e91054
...
...
@@ -159,10 +159,10 @@ typedef struct {
* @param level 日志级别
* @param file 源文件名
* @param line 源文件行
* @param function 源文件
方法
* @param function 源文件
函数名
* @param message 日志内容
*/
void
(
API_CALL
*
on_mk_log
)(
int
level
,
const
char
*
file
,
int
line
,
const
char
*
function
,
const
char
*
message
);
void
(
API_CALL
*
on_mk_log
)(
int
level
,
const
char
*
file
,
int
line
,
const
char
*
function
,
const
char
*
message
);
}
mk_events
;
...
...
This diff is collapsed.
Click to expand it.
api/source/mk_common.cpp
查看文件 @
57e91054
...
...
@@ -35,18 +35,19 @@ static std::shared_ptr<RtpServer> rtpServer;
#endif
//////////////////////////environment init///////////////////////////
API_EXPORT
void
API_CALL
mk_env_init
(
const
mk_config
*
cfg
)
{
assert
(
cfg
);
mk_env_init
2
(
cfg
->
thread_num
,
mk_env_init
1
(
cfg
->
thread_num
,
cfg
->
log_level
,
cfg
->
log_mask
,
cfg
->
log_file_path
,
cfg
->
log_file_days
,
cfg
->
ini_is_path
,
cfg
->
ini
,
cfg
->
ssl_is_path
,
cfg
->
ssl
,
cfg
->
ssl_pwd
,
cfg
->
disable_console_log
);
cfg
->
ssl_pwd
);
}
extern
void
stopAllTcpServer
();
...
...
@@ -63,6 +64,7 @@ API_EXPORT void API_CALL mk_stop_all_server(){
API_EXPORT
void
API_CALL
mk_env_init1
(
int
thread_num
,
int
log_level
,
int
log_mask
,
const
char
*
log_file_path
,
int
log_file_days
,
int
ini_is_path
,
...
...
@@ -70,42 +72,24 @@ API_EXPORT void API_CALL mk_env_init1(int thread_num,
int
ssl_is_path
,
const
char
*
ssl
,
const
char
*
ssl_pwd
)
{
mk_env_init2
(
thread_num
,
log_level
,
log_file_path
,
log_file_days
,
ini_is_path
,
ini
,
ssl_is_path
,
ssl
,
ssl_pwd
,
0
);
}
API_EXPORT
void
API_CALL
mk_env_init2
(
int
thread_num
,
int
log_level
,
const
char
*
log_file_path
,
int
log_file_days
,
int
ini_is_path
,
const
char
*
ini
,
int
ssl_is_path
,
const
char
*
ssl
,
const
char
*
ssl_pwd
,
int
disable_console_log
)
{
//确保只初始化一次
static
onceToken
token
([
&
]()
{
if
(
disable_console_log
)
{
// 广播日志
Logger
::
Instance
().
add
(
std
::
make_shared
<
EventChannel
>
(
"EventChannel"
,
(
LogLevel
)
log_level
));
}
else
{
if
(
log_mask
&
LOG_CONSOLE
)
{
//控制台日志
Logger
::
Instance
().
add
(
std
::
make_shared
<
ConsoleChannel
>
(
"ConsoleChannel"
,
(
LogLevel
)
log_level
));
}
if
(
log_file_path
&&
log_file_days
){
if
(
log_mask
&
LOG_CALLBACK
)
{
//广播日志
Logger
::
Instance
().
add
(
std
::
make_shared
<
EventChannel
>
(
"EventChannel"
,
(
LogLevel
)
log_level
));
}
if
(
log_mask
&
LOG_FILE
)
{
//日志文件
auto
channel
=
std
::
make_shared
<
FileChannel
>
(
"FileChannel"
,
File
::
absolutePath
(
log_file_path
,
""
),
(
LogLevel
)
log_level
);
auto
channel
=
std
::
make_shared
<
FileChannel
>
(
"FileChannel"
,
log_file_path
?
File
::
absolutePath
(
log_file_path
,
""
)
:
exeDir
()
+
"log/"
,
(
LogLevel
)
log_level
);
channel
->
setMaxDay
(
log_file_days
?
log_file_days
:
1
);
Logger
::
Instance
().
add
(
channel
);
}
...
...
This diff is collapsed.
Click to expand it.
api/source/mk_events.cpp
查看文件 @
57e91054
...
...
@@ -20,13 +20,13 @@ static void* s_tag;
static
mk_events
s_events
=
{
0
};
API_EXPORT
void
API_CALL
mk_events_listen
(
const
mk_events
*
events
){
if
(
events
)
{
memcpy
(
&
s_events
,
events
,
sizeof
(
s_events
));
}
else
{
memset
(
&
s_events
,
0
,
sizeof
(
s_events
));
if
(
events
)
{
memcpy
(
&
s_events
,
events
,
sizeof
(
s_events
));
}
else
{
memset
(
&
s_events
,
0
,
sizeof
(
s_events
));
}
static
onceToken
tok
ne
([]{
static
onceToken
tok
en
([]{
NoticeCenter
::
Instance
().
addListener
(
&
s_tag
,
Broadcast
::
kBroadcastMediaChanged
,[](
BroadcastMediaChangedArgs
){
if
(
s_events
.
on_mk_media_changed
){
s_events
.
on_mk_media_changed
(
bRegist
,
...
...
@@ -152,9 +152,10 @@ API_EXPORT void API_CALL mk_events_listen(const mk_events *events){
}
});
NoticeCenter
::
Instance
().
addListener
(
&
s_tag
,
Broadcast
::
kBroadcastLog
,[](
BroadcastLog
Args
){
NoticeCenter
::
Instance
().
addListener
(
&
s_tag
,
EventChannel
::
kBroadcastLogEvent
,[](
BroadcastLogEvent
Args
){
if
(
s_events
.
on_mk_log
)
{
s_events
.
on_mk_log
((
int
)
level
,
file
,
line
,
function
,
message
);
auto
log
=
ctx
->
str
();
s_events
.
on_mk_log
((
int
)
ctx
->
_level
,
ctx
->
_file
.
data
(),
ctx
->
_line
,
ctx
->
_function
.
data
(),
log
.
data
());
}
});
});
...
...
This diff is collapsed.
Click to expand it.
api/tests/h264_media_server.c
查看文件 @
57e91054
...
...
@@ -37,6 +37,7 @@ int main(int argc, char *argv[]) {
.
ini
=
NULL
,
.
ini_is_path
=
1
,
.
log_level
=
0
,
.
log_mask
=
LOG_CONSOLE
,
.
log_file_path
=
NULL
,
.
log_file_days
=
0
,
.
ssl
=
NULL
,
...
...
This diff is collapsed.
Click to expand it.
api/tests/pusher.c
查看文件 @
57e91054
...
...
@@ -164,6 +164,7 @@ int main(int argc, char *argv[]){
.
ini
=
NULL
,
.
ini_is_path
=
0
,
.
log_level
=
0
,
.
log_mask
=
LOG_CONSOLE
,
.
ssl
=
NULL
,
.
ssl_is_path
=
1
,
.
ssl_pwd
=
NULL
,
...
...
This diff is collapsed.
Click to expand it.
api/tests/server.c
查看文件 @
57e91054
...
...
@@ -402,6 +402,7 @@ int main(int argc, char *argv[]) {
.
ini
=
ini_path
,
.
ini_is_path
=
1
,
.
log_level
=
0
,
.
log_mask
=
LOG_CONSOLE
,
.
log_file_path
=
NULL
,
.
log_file_days
=
0
,
.
ssl
=
ssl_path
,
...
...
This diff is collapsed.
Click to expand it.
api/tests/websocket.c
查看文件 @
57e91054
...
...
@@ -190,6 +190,7 @@ int main(int argc, char *argv[]) {
.
ini
=
ini_path
,
.
ini_is_path
=
1
,
.
log_level
=
0
,
.
log_mask
=
LOG_CONSOLE
,
.
ssl
=
ssl_path
,
.
ssl_is_path
=
1
,
.
ssl_pwd
=
NULL
,
...
...
This diff is collapsed.
Click to expand it.
src/Common/config.cpp
查看文件 @
57e91054
...
...
@@ -53,7 +53,6 @@ const string kBroadcastShellLogin = "kBroadcastShellLogin";
const
string
kBroadcastNotFoundStream
=
"kBroadcastNotFoundStream"
;
const
string
kBroadcastStreamNoneReader
=
"kBroadcastStreamNoneReader"
;
const
string
kBroadcastHttpBeforeAccess
=
"kBroadcastHttpBeforeAccess"
;
const
string
kBroadcastLog
=
"kBroadcastEventLog"
;
}
//namespace Broadcast
//通用配置项目
...
...
This diff is collapsed.
Click to expand it.
src/Common/config.h
查看文件 @
57e91054
...
...
@@ -105,10 +105,6 @@ extern const string kBroadcastStreamNoneReader;
extern
const
string
kBroadcastReloadConfig
;
#define BroadcastReloadConfigArgs void
//日志输出广播,目的是为了通过C API运行时,由上级程序打印日志
extern
const
string
kBroadcastLog
;
#define BroadcastLogArgs const LogLevel level, const char* file, int line, const char* function, const char* message
#define ReloadConfigTag ((void *)(0xFF))
#define RELOAD_KEY(arg,key) \
do { \
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论