mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Simplify logging:
* Construct Logs with the correct severity * Remove deprecatedLogs and log squelching support * Use debugJournal for AutoSocket logging
This commit is contained in:
@@ -3759,9 +3759,6 @@
|
|||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\src\ripple\websocket\Handler.h">
|
<ClInclude Include="..\..\src\ripple\websocket\Handler.h">
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClCompile Include="..\..\src\ripple\websocket\LogWebsockets.cpp">
|
|
||||||
<ExcludedFromBuild>True</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\src\ripple\websocket\MakeServer.cpp">
|
<ClCompile Include="..\..\src\ripple\websocket\MakeServer.cpp">
|
||||||
<ExcludedFromBuild>True</ExcludedFromBuild>
|
<ExcludedFromBuild>True</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|||||||
@@ -4239,9 +4239,6 @@
|
|||||||
<ClInclude Include="..\..\src\ripple\websocket\Handler.h">
|
<ClInclude Include="..\..\src\ripple\websocket\Handler.h">
|
||||||
<Filter>ripple\websocket</Filter>
|
<Filter>ripple\websocket</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClCompile Include="..\..\src\ripple\websocket\LogWebsockets.cpp">
|
|
||||||
<Filter>ripple\websocket</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\src\ripple\websocket\MakeServer.cpp">
|
<ClCompile Include="..\..\src\ripple\websocket\MakeServer.cpp">
|
||||||
<Filter>ripple\websocket</Filter>
|
<Filter>ripple\websocket</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|||||||
@@ -419,18 +419,19 @@ int run (int argc, char** argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Construct the logs object at the configured severity
|
||||||
|
beast::Journal::Severity thresh = beast::Journal::kInfo;
|
||||||
|
|
||||||
|
if (vm.count ("quiet"))
|
||||||
|
thresh = beast::Journal::kFatal;
|
||||||
|
else if (vm.count ("verbose"))
|
||||||
|
thresh = beast::Journal::kTrace;
|
||||||
|
|
||||||
|
auto logs = std::make_unique<Logs>(thresh);
|
||||||
|
|
||||||
// No arguments. Run server.
|
// No arguments. Run server.
|
||||||
if (!vm.count ("parameters"))
|
if (!vm.count ("parameters"))
|
||||||
{
|
{
|
||||||
auto logs = std::make_unique<Logs>();
|
|
||||||
|
|
||||||
if (vm.count ("quiet"))
|
|
||||||
logs->threshold (beast::Journal::kFatal);
|
|
||||||
else if (vm.count ("verbose"))
|
|
||||||
logs->threshold (beast::Journal::kTrace);
|
|
||||||
else
|
|
||||||
logs->threshold (beast::Journal::kInfo);
|
|
||||||
|
|
||||||
if (vm.count ("debug"))
|
if (vm.count ("debug"))
|
||||||
setDebugJournalSink (logs->get("Debug"));
|
setDebugJournalSink (logs->get("Debug"));
|
||||||
|
|
||||||
@@ -450,7 +451,8 @@ int run (int argc, char** argv)
|
|||||||
setCallingThreadName ("rpc");
|
setCallingThreadName ("rpc");
|
||||||
return RPCCall::fromCommandLine (
|
return RPCCall::fromCommandLine (
|
||||||
*config,
|
*config,
|
||||||
vm["parameters"].as<std::vector<std::string>>(), deprecatedLogs());
|
vm["parameters"].as<std::vector<std::string>>(),
|
||||||
|
*logs);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int run (int argc, char** argv);
|
extern int run (int argc, char** argv);
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ private:
|
|||||||
bool silent_ = false;
|
bool silent_ = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Logs();
|
Logs(beast::Journal::Severity level);
|
||||||
|
|
||||||
Logs (Logs const&) = delete;
|
Logs (Logs const&) = delete;
|
||||||
Logs& operator= (Logs const&) = delete;
|
Logs& operator= (Logs const&) = delete;
|
||||||
@@ -262,35 +262,6 @@ debugJournal();
|
|||||||
void
|
void
|
||||||
setDebugJournalSink(beast::Journal::Sink& sink);
|
setDebugJournalSink(beast::Journal::Sink& sink);
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// VFALCO DEPRECATED Temporary transition function until interfaces injected
|
|
||||||
inline
|
|
||||||
Logs&
|
|
||||||
deprecatedLogs()
|
|
||||||
{
|
|
||||||
static Logs logs;
|
|
||||||
return logs;
|
|
||||||
}
|
|
||||||
|
|
||||||
class LogSquelcher
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
LogSquelcher()
|
|
||||||
: thresh_(deprecatedLogs().threshold())
|
|
||||||
{
|
|
||||||
deprecatedLogs().threshold(
|
|
||||||
beast::Journal::Severity::kNone);
|
|
||||||
}
|
|
||||||
|
|
||||||
~LogSquelcher()
|
|
||||||
{
|
|
||||||
deprecatedLogs().threshold(thresh_);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
beast::Journal::Severity const thresh_;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // ripple
|
} // ripple
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -111,8 +111,8 @@ void Logs::File::writeln (char const* text)
|
|||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
Logs::Logs()
|
Logs::Logs(beast::Journal::Severity thresh)
|
||||||
: thresh_ (beast::Journal::kWarning) // default severity
|
: thresh_ (thresh) // default severity
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -104,7 +104,6 @@ class SkipList_test : public beast::unit_test::suite
|
|||||||
|
|
||||||
void run()
|
void run()
|
||||||
{
|
{
|
||||||
LogSquelcher l;
|
|
||||||
testSkipList();
|
testSkipList();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public:
|
|||||||
const unsigned short port,
|
const unsigned short port,
|
||||||
std::size_t responseMax,
|
std::size_t responseMax,
|
||||||
Logs& l)
|
Logs& l)
|
||||||
: mSocket (io_service, httpClientSSLContext->context (), l.journal ("AutoSocket"))
|
: mSocket (io_service, httpClientSSLContext->context ())
|
||||||
, mResolver (io_service)
|
, mResolver (io_service)
|
||||||
, mHeader (maxClientHeaderBytes)
|
, mHeader (maxClientHeaderBytes)
|
||||||
, mPort (port)
|
, mPort (port)
|
||||||
|
|||||||
@@ -406,7 +406,7 @@ ripplePathFind (std::shared_ptr<RippleLineCache> const& cache,
|
|||||||
app.logs(),
|
app.logs(),
|
||||||
&rcInput);
|
&rcInput);
|
||||||
|
|
||||||
JLOG(j.warning)
|
JLOG(j.info)
|
||||||
<< "ripple_path_find:"
|
<< "ripple_path_find:"
|
||||||
<< " saMaxAmount=" << saMaxAmount
|
<< " saMaxAmount=" << saMaxAmount
|
||||||
<< " saDstAmount=" << saDstAmount
|
<< " saDstAmount=" << saDstAmount
|
||||||
|
|||||||
@@ -109,7 +109,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
AppBundle bundle_;
|
AppBundle bundle_;
|
||||||
LogSquelcher logSquelcher_;
|
|
||||||
|
|
||||||
inline
|
inline
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -135,7 +135,8 @@ class SuiteLogs : public Logs
|
|||||||
public:
|
public:
|
||||||
explicit
|
explicit
|
||||||
SuiteLogs(beast::unit_test::suite& suite)
|
SuiteLogs(beast::unit_test::suite& suite)
|
||||||
: suite_(suite)
|
: Logs (beast::Journal::kError)
|
||||||
|
, suite_(suite)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,6 @@
|
|||||||
|
|
||||||
#include <ripple/websocket/WebSocket02.cpp>
|
#include <ripple/websocket/WebSocket02.cpp>
|
||||||
#include <ripple/websocket/MakeServer.cpp>
|
#include <ripple/websocket/MakeServer.cpp>
|
||||||
#include <ripple/websocket/LogWebsockets.cpp>
|
|
||||||
|
|
||||||
// Must come last to prevent compilation errors.
|
// Must come last to prevent compilation errors.
|
||||||
#include <websocketpp_02/src/md5/md5.c>
|
#include <websocketpp_02/src/md5/md5.c>
|
||||||
|
|||||||
@@ -46,31 +46,24 @@ public:
|
|||||||
using callback = std::function <void (error_code)>;
|
using callback = std::function <void (error_code)>;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AutoSocket (boost::asio::io_service& s, boost::asio::ssl::context& c, beast::Journal j)
|
|
||||||
: mSecure (false)
|
|
||||||
, mBuffer (4)
|
|
||||||
, j_ (j)
|
|
||||||
{
|
|
||||||
mSocket = std::make_shared<ssl_socket> (s, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
AutoSocket (
|
AutoSocket (
|
||||||
boost::asio::io_service& s, boost::asio::ssl::context& c,
|
boost::asio::io_service& s,
|
||||||
bool secureOnly, bool plainOnly, beast::Journal j)
|
boost::asio::ssl::context& c,
|
||||||
|
bool secureOnly,
|
||||||
|
bool plainOnly)
|
||||||
: mSecure (secureOnly)
|
: mSecure (secureOnly)
|
||||||
, mBuffer ((plainOnly || secureOnly) ? 0 : 4)
|
, mBuffer ((plainOnly || secureOnly) ? 0 : 4)
|
||||||
, j_ (j)
|
, j_ (ripple::debugJournal())
|
||||||
{
|
{
|
||||||
mSocket = std::make_shared<ssl_socket> (s, c);
|
mSocket = std::make_shared<ssl_socket> (s, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
// swd TBD try remove this constructor
|
|
||||||
// This needs to use `deprecatedLogs` or a change is needed
|
|
||||||
// in websocket_02 (which breaks leveling)
|
|
||||||
AutoSocket (
|
AutoSocket (
|
||||||
boost::asio::io_service& s, boost::asio::ssl::context& c,
|
boost::asio::io_service& s,
|
||||||
bool secureOnly, bool plainOnly)
|
boost::asio::ssl::context& c)
|
||||||
: AutoSocket (s, c, secureOnly, plainOnly, ripple::deprecatedLogs().journal ("AutoSocket")){}
|
: AutoSocket (s, c, false, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
boost::asio::io_service& get_io_service () noexcept
|
boost::asio::io_service& get_io_service () noexcept
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,61 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
/*
|
|
||||||
This file is part of rippled: https://github.com/ripple/rippled
|
|
||||||
Copyright (c) 2012, 2013 Ripple Labs Inc.
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
||||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
*/
|
|
||||||
//==============================================================================
|
|
||||||
|
|
||||||
// VFALCO NOTE this looks like some facility for giving websocket
|
|
||||||
// a way to produce logging output.
|
|
||||||
//
|
|
||||||
namespace websocketpp_02 {
|
|
||||||
namespace log {
|
|
||||||
|
|
||||||
void websocketLog (
|
|
||||||
websocketpp_02::log::alevel::value v, std::string const& entry)
|
|
||||||
{
|
|
||||||
auto const isTrace =
|
|
||||||
v == websocketpp_02::log::alevel::DEVEL ||
|
|
||||||
v == websocketpp_02::log::alevel::DEBUG_CLOSE;
|
|
||||||
|
|
||||||
auto journal = ripple::debugJournal();
|
|
||||||
|
|
||||||
if (isTrace)
|
|
||||||
JLOG (journal.trace) << entry;
|
|
||||||
else
|
|
||||||
JLOG (journal.debug) << entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
void websocketLog (
|
|
||||||
websocketpp_02::log::elevel::value v, std::string const& entry)
|
|
||||||
{
|
|
||||||
auto journal = ripple::debugJournal();
|
|
||||||
|
|
||||||
if ((v & websocketpp_02::log::elevel::INFO) != 0)
|
|
||||||
JLOG (journal.info) << entry;
|
|
||||||
else if ((v & websocketpp_02::log::elevel::FATAL) != 0)
|
|
||||||
JLOG (journal.fatal) << entry;
|
|
||||||
else if ((v & websocketpp_02::log::elevel::RERROR) != 0)
|
|
||||||
JLOG (journal.error) << entry;
|
|
||||||
else if ((v & websocketpp_02::log::elevel::WARN) != 0)
|
|
||||||
JLOG (journal.warning) << entry;
|
|
||||||
else
|
|
||||||
JLOG (journal.debug) << entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// vim:ts=4
|
|
||||||
@@ -85,9 +85,6 @@ namespace elevel {
|
|||||||
static const value ALL = 0xFFFF;
|
static const value ALL = 0xFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void websocketLog(alevel::value, const std::string&);
|
|
||||||
extern void websocketLog(elevel::value, const std::string&);
|
|
||||||
|
|
||||||
template <typename level_type>
|
template <typename level_type>
|
||||||
class logger {
|
class logger {
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user