Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
HatsuneMikuFansYSQ
LYAVFoundation
提交
cd3912f4
L
LYAVFoundation
项目概览
HatsuneMikuFansYSQ
/
LYAVFoundation
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
LYAVFoundation
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
cd3912f4
编写于
9月 07, 2021
作者:
杨
杨时权
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【需求】新增日志回调能力。
上级
4f2c673d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
159 addition
and
0 deletion
+159
-0
include/logger/LWLogger.h
include/logger/LWLogger.h
+54
-0
project/iPhone/LWAVFoundation/LWAVFoundation.xcodeproj/project.pbxproj
...e/LWAVFoundation/LWAVFoundation.xcodeproj/project.pbxproj
+6
-0
src/logger/LWLogger.cpp
src/logger/LWLogger.cpp
+97
-0
src/network/LWURL.cc
src/network/LWURL.cc
+2
-0
未找到文件。
include/logger/LWLogger.h
0 → 100644
浏览文件 @
cd3912f4
#ifndef LWLogger_h
#define LWLogger_h
#include <string>
namespace
LW
{
typedef
enum
LoggerInfo
{
kLoggerInfo_Debug
=
0
,
kLoggerInfo_Warning
,
kLoggerInfo_Info
,
kLoggerInfo_Error
,
kLoggerInfo_Assert
,
}
LoggerInfo
;
class
LoggerCallBack
{
public:
LoggerCallBack
()
=
default
;
virtual
~
LoggerCallBack
()
=
default
;
virtual
void
onCallBack
(
LoggerInfo
info
,
const
char
*
message
,
int
length
)
=
0
;
};
class
Logger
{
public:
static
Logger
*
getInstance
();
public:
explicit
Logger
(
LoggerCallBack
*
callBack
);
~
Logger
();
void
log
(
LoggerInfo
info
,
const
char
*
func
,
int
line
,
const
char
*
format
,
...);
void
setLoggerCallBack
(
LoggerCallBack
*
callBack
);
void
setLoggerBufferSize
(
int
maxBufferSize
);
void
setLoggerInfo
(
LoggerInfo
info
);
private:
LoggerCallBack
*
callBack_
;
LoggerInfo
info_
;
int
max_buffer_size_
;
};
}
#define LWLOGD(format, ...) LW::Logger::getInstance()->log(kLoggerInfo_Debug, __FUNCTION__, __LINE__, format, ##__VA_ARGS__)
#define LWLOGW(format, ...) LW::Logger::getInstance()->log(kLoggerInfo_Warning, __FUNCTION__, __LINE__, format, ##__VA_ARGS__)
#define LWLOGI(format, ...) LW::Logger::getInstance()->log(kLoggerInfo_Info, __FUNCTION__, __LINE__, format, ##__VA_ARGS__)
#define LWLOGE(format, ...) LW::Logger::getInstance()->log(kLoggerInfo_Error, __FUNCTION__, __LINE__, format, ##__VA_ARGS__)
#define LWLOGA(format, ...) LW::Logger::getInstance()->log(kLoggerInfo_Assert, __FUNCTION__, __LINE__, format, ##__VA_ARGS__)
#endif
/* LWLogger_h */
project/iPhone/LWAVFoundation/LWAVFoundation.xcodeproj/project.pbxproj
浏览文件 @
cd3912f4
...
...
@@ -7,6 +7,7 @@
objects
=
{
/* Begin PBXBuildFile section */
A21B504D26E709430038281E
/* LWLogger.cpp in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A21B504C26E709430038281E
/* LWLogger.cpp */
;
};
A272199A26E1C3E300501840
/* LWURL.cc in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A272199926E1C3E300501840
/* LWURL.cc */
;
};
A2847B9026CE7B1D00AF0E60
/* AppDelegate.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A2847B8F26CE7B1D00AF0E60
/* AppDelegate.m */
;
};
A2847B9326CE7B1D00AF0E60
/* SceneDelegate.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A2847B9226CE7B1D00AF0E60
/* SceneDelegate.m */
;
};
...
...
@@ -29,6 +30,8 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
A21B504B26E7092F0038281E
/* LWLogger.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
LWLogger.h
;
sourceTree
=
"<group>"
;
};
A21B504C26E709430038281E
/* LWLogger.cpp */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.cpp.cpp
;
path
=
LWLogger.cpp
;
sourceTree
=
"<group>"
;
};
A272199826E1C3B700501840
/* LWURL.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
LWURL.h
;
sourceTree
=
"<group>"
;
};
A272199926E1C3E300501840
/* LWURL.cc */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.cpp.cpp
;
path
=
LWURL.cc
;
sourceTree
=
"<group>"
;
};
A2847B8B26CE7B1D00AF0E60
/* LWAVFoundation.app */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
wrapper.application
;
includeInIndex
=
0
;
path
=
LWAVFoundation.app
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
...
...
@@ -117,6 +120,7 @@
A272199E26E1C7BF00501840
/* logger */
=
{
isa
=
PBXGroup
;
children
=
(
A21B504B26E7092F0038281E
/* LWLogger.h */
,
);
path
=
logger
;
sourceTree
=
"<group>"
;
...
...
@@ -124,6 +128,7 @@
A272199F26E1C7C600501840
/* logger */
=
{
isa
=
PBXGroup
;
children
=
(
A21B504C26E709430038281E
/* LWLogger.cpp */
,
);
path
=
logger
;
sourceTree
=
"<group>"
;
...
...
@@ -288,6 +293,7 @@
isa
=
PBXSourcesBuildPhase
;
buildActionMask
=
2147483647
;
files
=
(
A21B504D26E709430038281E
/* LWLogger.cpp in Sources */
,
A272199A26E1C3E300501840
/* LWURL.cc in Sources */
,
A2847D8626CFB6BC00AF0E60
/* LWCheckBoxView.m in Sources */
,
A2847DC326D1FC2800AF0E60
/* LWVideoCaptureSession.m in Sources */
,
...
...
src/logger/LWLogger.cpp
0 → 100644
浏览文件 @
cd3912f4
#include <stdio.h>
#include <mutex>
#include "LWLogger.h"
namespace
LW
{
class
DefaultLoggerCallBack
:
public
LoggerCallBack
{
public:
DefaultLoggerCallBack
()
:
LoggerCallBack
()
{
}
virtual
~
DefaultLoggerCallBack
()
{
}
virtual
void
onCallBack
(
LoggerInfo
info
,
const
char
*
message
,
int
length
)
override
{
#ifdef __APPLE__
printf
(
"%s
\n
"
,
message
);
#else
#endif
}
};
static
DefaultLoggerCallBack
*
kDefaultLoggerCallBack
;
}
namespace
LW
{
Logger
*
Logger
::
getInstance
()
{
static
Logger
*
logger
=
nullptr
;
static
std
::
once_flag
flag1
;
std
::
call_once
(
flag1
,
[](
DefaultLoggerCallBack
**
callback
,
Logger
**
logger
)
->
void
{
if
(
callback
&&
!
(
*
callback
))
{
*
callback
=
new
DefaultLoggerCallBack
;
}
if
(
logger
&&
!
(
*
logger
))
{
*
logger
=
new
Logger
(
kDefaultLoggerCallBack
);
}
},
&
kDefaultLoggerCallBack
,
&
logger
);
return
logger
;
}
Logger
::
Logger
(
LoggerCallBack
*
callBack
)
{
if
(
callBack
==
nullptr
)
{
callBack_
=
kDefaultLoggerCallBack
;
}
else
{
callBack_
=
callBack
;
}
info_
=
kLoggerInfo_Info
;
max_buffer_size_
=
2048
;
}
Logger
::~
Logger
()
{
callBack_
=
nullptr
;
}
void
Logger
::
log
(
LoggerInfo
info
,
const
char
*
func
,
int
line
,
const
char
*
format
,
...)
{
if
(
info
<
info_
)
{
return
;
}
va_list
va_pointer
;
int
pos
=
0
;
va_start
(
va_pointer
,
format
);
// todo memory pool
char
*
buffer
=
new
char
[
max_buffer_size_
];
pos
=
snprintf
(
buffer
,
max_buffer_size_
,
"[%s:%d]"
,
func
,
line
);
pos
+=
vsnprintf
(
buffer
+
pos
,
max_buffer_size_
-
pos
,
format
,
va_pointer
);
va_end
(
va_pointer
);
if
(
callBack_
)
{
callBack_
->
onCallBack
(
info
,
buffer
,
pos
);
}
delete
[]
buffer
;
}
void
Logger
::
setLoggerInfo
(
LoggerInfo
info
)
{
info_
=
info
;
}
void
Logger
::
setLoggerBufferSize
(
int
maxBufferSize
)
{
if
(
maxBufferSize
==
max_buffer_size_
)
{
return
;
}
max_buffer_size_
=
maxBufferSize
;
}
void
Logger
::
setLoggerCallBack
(
LoggerCallBack
*
callBack
)
{
callBack_
=
callBack
;
}
}
src/network/LWURL.cc
浏览文件 @
cd3912f4
...
...
@@ -7,6 +7,7 @@
#include <sstream>
#include "LWURL.h"
#include "LWLogger.h"
namespace
LW
{
...
...
@@ -139,6 +140,7 @@ bool URL::parseUrl(const std::string& url) {
ostr
<<
"}),port("
<<
port_
<<
"),url:("
<<
url_
<<
")"
;
description_
=
ostr
.
str
();
LWLOGI
(
"description:%s"
,
description
().
c_str
());
return
true
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录