aboutsummaryrefslogtreecommitdiff
path: root/zenserver
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2021-09-16 10:13:28 +0200
committerMartin Ridgers <[email protected]>2021-09-16 10:13:58 +0200
commit7aa3ceabe4254479bd066ae3ea941396fdc6733c (patch)
treea7d0a7fde0a5a3c42302238965c25c665fc28005 /zenserver
parentMissing include (diff)
parentAdded some placeholder HttpClient functions to be fleshed out (diff)
downloadzen-7aa3ceabe4254479bd066ae3ea941396fdc6733c.tar.xz
zen-7aa3ceabe4254479bd066ae3ea941396fdc6733c.zip
Merge from main
Diffstat (limited to 'zenserver')
-rw-r--r--zenserver/compute/apply.cpp9
-rw-r--r--zenserver/config.cpp2
-rw-r--r--zenserver/diag/logging.cpp15
-rw-r--r--zenserver/projectstore.cpp4
-rw-r--r--zenserver/testing/launch.cpp2
-rw-r--r--zenserver/upstream/jupiter.cpp2
-rw-r--r--zenserver/zenserver.cpp2
7 files changed, 20 insertions, 16 deletions
diff --git a/zenserver/compute/apply.cpp b/zenserver/compute/apply.cpp
index 6eeb6cf70..7b76bb80b 100644
--- a/zenserver/compute/apply.cpp
+++ b/zenserver/compute/apply.cpp
@@ -114,7 +114,7 @@ BasicFunctionJob::Wait(uint32_t TimeoutMs)
return true;
}
- throw std::exception("Failed wait on process handle");
+ throw std::runtime_error("Failed wait on process handle");
}
int
@@ -647,6 +647,7 @@ CbPackage
HttpFunctionService::ExecAction(const WorkerDesc& Worker, CbObject Action)
{
using namespace std::literals;
+ using namespace fmt::literals;
std::filesystem::path SandboxPath = CreateNewSandbox();
@@ -667,7 +668,7 @@ HttpFunctionService::ExecAction(const WorkerDesc& Worker, CbObject Action)
if (!DataBuffer)
{
- throw std::exception("Chunk missing" /* ADD CONTEXT */);
+ throw std::runtime_error("worker CAS chunk '{}' missing"_format(Hash));
}
zen::WriteFile(FilePath, DataBuffer);
@@ -693,7 +694,7 @@ HttpFunctionService::ExecAction(const WorkerDesc& Worker, CbObject Action)
if (!DataBuffer)
{
- throw std::exception("Chunk missing" /* ADD CONTEXT */);
+ throw std::runtime_error("worker CAS chunk '{}' missing"_format(Hash));
}
zen::WriteFile(FilePath, DataBuffer);
@@ -712,7 +713,7 @@ HttpFunctionService::ExecAction(const WorkerDesc& Worker, CbObject Action)
if (!DataBuffer)
{
- throw std::exception("Chunk missing" /* ADD CONTEXT */);
+ throw std::runtime_error("input CID chunk '{}' missing"_format(Cid));
}
zen::WriteFile(FilePath, DataBuffer);
diff --git a/zenserver/config.cpp b/zenserver/config.cpp
index ae624b169..578a3a202 100644
--- a/zenserver/config.cpp
+++ b/zenserver/config.cpp
@@ -242,7 +242,7 @@ ParseServiceConfig(const std::filesystem::path& DataRoot, ZenServiceConfig& Serv
{
ZEN_ERROR("config script failure: {}", e.what());
- throw std::exception("fatal zen global config script ({}) failure: {}"_format(ConfigScript, e.what()).c_str());
+ throw std::runtime_error("fatal zen global config script ({}) failure: {}"_format(ConfigScript, e.what()).c_str());
}
ServiceConfig.MeshEnabled = lua["mesh"]["enable"].get_or(ServiceConfig.MeshEnabled);
diff --git a/zenserver/diag/logging.cpp b/zenserver/diag/logging.cpp
index 5782ce582..48eda7512 100644
--- a/zenserver/diag/logging.cpp
+++ b/zenserver/diag/logging.cpp
@@ -211,7 +211,7 @@ InitializeLogging(const ZenServerOptions& GlobalOptions)
spdlog::init_thread_pool(QueueSize, ThreadCount);
auto AsyncLogger = spdlog::create_async<spdlog::sinks::ansicolor_stdout_sink_mt>("main");
- spdlog::set_default_logger(AsyncLogger);
+ zen::logging::SetDefault(AsyncLogger);
}
// Sinks
@@ -220,16 +220,16 @@ InitializeLogging(const ZenServerOptions& GlobalOptions)
auto FileSink = std::make_shared<spdlog::sinks::basic_file_sink_mt>(zen::WideToUtf8(LogPath.c_str()), /* truncate */ true);
// Default
- auto DefaultLogger = spdlog::default_logger();
- auto& Sinks = spdlog::default_logger()->sinks();
- Sinks.clear();
+ auto& DefaultLogger = zen::logging::Default();
+ auto& Sinks = DefaultLogger.sinks();
+
+ Sinks.clear();
Sinks.push_back(ConsoleSink);
Sinks.push_back(FileSink);
- DefaultLogger->set_level(LogLevel);
- DefaultLogger->flush_on(spdlog::level::err);
// Jupiter - only log HTTP traffic to file
+
auto JupiterLogger = std::make_shared<spdlog::logger>("jupiter", FileSink);
spdlog::register_logger(JupiterLogger);
JupiterLogger->set_level(LogLevel);
@@ -238,7 +238,10 @@ InitializeLogging(const ZenServerOptions& GlobalOptions)
spdlog::register_logger(ZenClientLogger);
ZenClientLogger->set_level(LogLevel);
+ // Configure all registered loggers according to settings
+
spdlog::set_level(LogLevel);
+ spdlog::flush_on(spdlog::level::err);
spdlog::set_formatter(std::make_unique<logging::full_formatter>(GlobalOptions.LogId, std::chrono::system_clock::now()));
}
diff --git a/zenserver/projectstore.cpp b/zenserver/projectstore.cpp
index 79cd250dc..404484edf 100644
--- a/zenserver/projectstore.cpp
+++ b/zenserver/projectstore.cpp
@@ -142,14 +142,14 @@ struct ProjectStore::OplogStorage : public RefCounted
}
else
{
- throw std::exception("column family iteration failed for '{}': '{}'"_format(RocksdbPath, Status.getState()).c_str());
+ throw std::runtime_error("column family iteration failed for '{}': '{}'"_format(RocksdbPath, Status.getState()).c_str());
}
Status = rocksdb::DB::Open(Options, RocksdbPath, ColumnDescriptors, &m_RocksDbColumnHandles, &Db);
if (!Status.ok())
{
- throw std::exception("database open failed for '{}': '{}'"_format(RocksdbPath, Status.getState()).c_str());
+ throw std::runtime_error("database open failed for '{}': '{}'"_format(RocksdbPath, Status.getState()).c_str());
}
m_RocksDb.reset(Db);
diff --git a/zenserver/testing/launch.cpp b/zenserver/testing/launch.cpp
index 608b515e1..55695ac9c 100644
--- a/zenserver/testing/launch.cpp
+++ b/zenserver/testing/launch.cpp
@@ -105,7 +105,7 @@ BasicJob::Wait(uint32_t TimeoutMs)
return true;
}
- throw std::exception("Failed wait on process handle");
+ throw std::runtime_error("Failed wait on process handle");
}
int
diff --git a/zenserver/upstream/jupiter.cpp b/zenserver/upstream/jupiter.cpp
index 29fee1d32..0af92da6d 100644
--- a/zenserver/upstream/jupiter.cpp
+++ b/zenserver/upstream/jupiter.cpp
@@ -268,7 +268,7 @@ CloudCacheClient::CloudCacheClient(const CloudCacheClientOptions& Options)
{
if (!Options.OAuthProvider.starts_with("http://"sv) && !Options.OAuthProvider.starts_with("https://"sv))
{
- ZEN_WARN("bad provider specification: '{}' - must be fully qualified"_format(Options.OAuthProvider).c_str());
+ ZEN_WARN("bad provider specification: '{}' - must be fully qualified", Options.OAuthProvider);
m_IsValid = false;
return;
diff --git a/zenserver/zenserver.cpp b/zenserver/zenserver.cpp
index 931fe062e..3b56d8683 100644
--- a/zenserver/zenserver.cpp
+++ b/zenserver/zenserver.cpp
@@ -112,7 +112,7 @@ public:
if (zen::NamedMutex::Exists(MutexName) || (m_ServerMutex.Create(MutexName) == false))
{
- throw std::exception("Failed to create mutex '{}' - is another instance already running?"_format(MutexName).c_str());
+ throw std::runtime_error("Failed to create mutex '{}' - is another instance already running?"_format(MutexName).c_str());
}
// Ok so now we're configured, let's kick things off