|
@@ -6,10 +6,14 @@
|
|
|
|
|
|
namespace iv {
|
|
namespace iv {
|
|
|
|
|
|
|
|
+static int gminlevel = 0;
|
|
|
|
+static bool gbStdOut = false;
|
|
|
|
|
|
Ivlog::Ivlog(const char * strmodulename)
|
|
Ivlog::Ivlog(const char * strmodulename)
|
|
{
|
|
{
|
|
ivlog_impl * p = new ivlog_impl(strmodulename);
|
|
ivlog_impl * p = new ivlog_impl(strmodulename);
|
|
|
|
+ gminlevel = p->GetMinLevel();
|
|
|
|
+ gbStdOut = p->GetbStdOut();
|
|
p->start();
|
|
p->start();
|
|
mpimpl = (void *)p;
|
|
mpimpl = (void *)p;
|
|
}
|
|
}
|
|
@@ -30,6 +34,8 @@ va_end(ap) 用来清除list
|
|
*/
|
|
*/
|
|
void Ivlog::verbose(const char *str,...)
|
|
void Ivlog::verbose(const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 0))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
@@ -37,12 +43,21 @@ void Ivlog::verbose(const char *str,...)
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
|
|
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>0)return;
|
|
|
|
+
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
p->verbose(strlog);
|
|
p->verbose(strlog);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::verbose(const char * strtag,const char *str,...)
|
|
void Ivlog::verbose(const char * strtag,const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 0))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
@@ -50,103 +65,198 @@ void Ivlog::verbose(const char * strtag,const char *str,...)
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
|
|
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if(gminlevel>0)return;
|
|
|
|
+
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
p->verbose(strlog,strtag);
|
|
p->verbose(strlog,strtag);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::debug(const char *str,...)
|
|
void Ivlog::debug(const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 1))return;
|
|
|
|
+
|
|
|
|
+ ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
- ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>1)return;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
p->debug(strlog);
|
|
p->debug(strlog);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::debug(const char * strtag,const char *str,...)
|
|
void Ivlog::debug(const char * strtag,const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 1))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>1)return;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
+
|
|
p->debug(strlog,strtag);
|
|
p->debug(strlog,strtag);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::info(const char *str,...)
|
|
void Ivlog::info(const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 2))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>2)return;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
+
|
|
p->info(strlog);
|
|
p->info(strlog);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::info(const char * strtag,const char *str,...)
|
|
void Ivlog::info(const char * strtag,const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 2))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>2)return;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
+
|
|
p->info(strlog,strtag);
|
|
p->info(strlog,strtag);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::warn(const char *str,...)
|
|
void Ivlog::warn(const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 3))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
- ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>3)return;
|
|
|
|
+ ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
+
|
|
p->warn(strlog);
|
|
p->warn(strlog);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::warn(const char * strtag,const char *str,...)
|
|
void Ivlog::warn(const char * strtag,const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 3))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
- ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>3)return;
|
|
|
|
+ ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
+
|
|
p->warn(strlog,strtag);
|
|
p->warn(strlog,strtag);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::error(const char *str,...)
|
|
void Ivlog::error(const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 4))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(gminlevel>4)return;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
p->error(strlog);
|
|
p->error(strlog);
|
|
}
|
|
}
|
|
|
|
|
|
void Ivlog::error(const char * strtag, const char *str,...)
|
|
void Ivlog::error(const char * strtag, const char *str,...)
|
|
{
|
|
{
|
|
|
|
+ if((gbStdOut== false) && (gminlevel > 4))return;
|
|
|
|
+
|
|
va_list arg;
|
|
va_list arg;
|
|
char * strlog = new char[65636];
|
|
char * strlog = new char[65636];
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
std::shared_ptr<char> pstrlog; pstrlog.reset(strlog);
|
|
va_start(arg, str);
|
|
va_start(arg, str);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
vsnprintf(strlog,65535,str,arg);
|
|
va_end(arg);
|
|
va_end(arg);
|
|
|
|
+
|
|
|
|
+ if(gbStdOut)
|
|
|
|
+ {
|
|
|
|
+ std::cout<<strlog<<std::endl;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if(gminlevel>4)return;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
ivlog_impl * p = (ivlog_impl *)mpimpl;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
p->error(strlog,strtag);
|
|
p->error(strlog,strtag);
|
|
}
|
|
}
|
|
|
|
|