Less segfaults. More run.
parent
41221140ca
commit
2f2466a8ca
|
@ -778,10 +778,10 @@ void JsonAdapter::unregisterEventListener(const std::string& address, unsigned p
|
|||
}
|
||||
|
||||
|
||||
Logger::Stream&& JsonAdapter::Log(Logger::Severity sev) const
|
||||
Logger::Stream JsonAdapter::Log(Logger::Severity sev) const
|
||||
{
|
||||
check_guard();
|
||||
return i->Log << sev;
|
||||
return std::move(i->Log << sev);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ public:
|
|||
static pEp_identity* retrieveNextIdentity(void* obj);
|
||||
static void* keyserverLookupThreadRoutine(void* arg);
|
||||
|
||||
Logger::Stream&& Log(Logger::Severity s = Logger::Severity::Debug) const;
|
||||
Logger::Stream Log(Logger::Severity s = Logger::Severity::Debug) const;
|
||||
|
||||
// will throw logic_error if guard variables contains illegal values, which means: *this is not a valid JsonAdapter object!
|
||||
void check_guard() const;
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace LoggerS // namespace containing all data for the Logger singleton. HA
|
|||
{
|
||||
std::FILE* logfile = 0;
|
||||
std::recursive_mutex mut;
|
||||
Logger::Severity loglevel;
|
||||
Logger::Severity loglevel = Logger::DebugInternal;
|
||||
Logger::Target target = Logger::Target(-1);
|
||||
std::string filename;
|
||||
std::string ident;
|
||||
|
@ -94,8 +94,9 @@ void Logger::start(const std::string& program_name, const std::string& filename)
|
|||
if(LoggerS::initialized==false)
|
||||
{
|
||||
LoggerS::start(program_name, filename);
|
||||
Logger& l = ::getLogger();
|
||||
l.debug("Logger has been started.");
|
||||
}
|
||||
::getLogger().debug("Logger has been started.");
|
||||
}
|
||||
|
||||
|
||||
|
@ -382,9 +383,9 @@ template const Logger::Stream& operator<<(const Logger::Stream&, const void*cons
|
|||
template const Logger::Stream& operator<<(const Logger::Stream&, void*const&);
|
||||
template const Logger::Stream& operator<<(const Logger::Stream&, const std::thread::id&);
|
||||
|
||||
Logger::Stream&& operator<<(Logger& parent, Logger::Severity sev)
|
||||
Logger::Stream operator<<(Logger& parent, Logger::Severity sev)
|
||||
{
|
||||
return std::move(Logger::Stream(&parent, sev));
|
||||
return Logger::Stream(&parent, sev);
|
||||
}
|
||||
|
||||
// End of file
|
||||
|
|
|
@ -127,9 +127,6 @@ public:
|
|||
Stream(Logger* _L, Logger::Severity _sev);
|
||||
~Stream();
|
||||
|
||||
Stream(const Stream&) = delete;
|
||||
void operator=(const Stream&) = delete;
|
||||
|
||||
mutable std::string s;
|
||||
|
||||
private:
|
||||
|
@ -145,7 +142,7 @@ private:
|
|||
};
|
||||
|
||||
// creates a Stream, who collect data in pieces and logs it to the "parent" logger in its destructor with the given severity
|
||||
Logger::Stream&& operator<<(Logger& parent, Logger::Severity sev);
|
||||
Logger::Stream operator<<(Logger& parent, Logger::Severity sev);
|
||||
|
||||
template<class T>
|
||||
const Logger::Stream& operator<<(const Logger::Stream&, const T&);
|
||||
|
|
|
@ -96,8 +96,11 @@ try
|
|||
}else{
|
||||
Logger::setDefaultTarget(Logger::Target::File);
|
||||
}
|
||||
|
||||
Logger::start("JsonAdapter", logfile);
|
||||
|
||||
Logger L("main");
|
||||
L.info("main logger started");
|
||||
if(add_sharks)
|
||||
{
|
||||
ev_server::addSharks();
|
||||
|
@ -140,10 +143,16 @@ try
|
|||
ja.Log() << "Good bye. :-)";
|
||||
JsonAdapter::global_shutdown();
|
||||
}
|
||||
catch(std::exception const& e)
|
||||
{
|
||||
std::cerr << "Inner exception caught in main(): \"" << e.what() << "\"" << std::endl;
|
||||
daemonize_commit(1);
|
||||
exit(8);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
daemonize_commit(1);
|
||||
exit(1);
|
||||
exit(9);
|
||||
}
|
||||
}
|
||||
catch(std::exception const& e)
|
||||
|
|
Loading…
Reference in New Issue