diff options
| author | Stefan Boberg <[email protected]> | 2021-09-15 10:05:25 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-09-15 10:05:25 +0200 |
| commit | 94b4091533b15929c381ad027d3d0cdb4be3aded (patch) | |
| tree | 799a47518657a06010c20f4597647a0724c1081e /zenserver | |
| parent | Added options for indicating a server is running in "dedicated" mode (diff) | |
| download | zen-94b4091533b15929c381ad027d3d0cdb4be3aded.tar.xz zen-94b4091533b15929c381ad027d3d0cdb4be3aded.zip | |
Changed so more loggers go via the zen::loggers interface
Diffstat (limited to 'zenserver')
| -rw-r--r-- | zenserver/cache/structuredcache.cpp | 6 | ||||
| -rw-r--r-- | zenserver/cache/structuredcache.h | 7 | ||||
| -rw-r--r-- | zenserver/compute/apply.cpp | 86 | ||||
| -rw-r--r-- | zenserver/compute/apply.h | 2 | ||||
| -rw-r--r-- | zenserver/projectstore.cpp | 10 | ||||
| -rw-r--r-- | zenserver/projectstore.h | 4 | ||||
| -rw-r--r-- | zenserver/sos/sos.cpp | 8 | ||||
| -rw-r--r-- | zenserver/sos/sos.h | 8 | ||||
| -rw-r--r-- | zenserver/testing/launch.cpp | 3 | ||||
| -rw-r--r-- | zenserver/testing/launch.h | 2 |
10 files changed, 32 insertions, 104 deletions
diff --git a/zenserver/cache/structuredcache.cpp b/zenserver/cache/structuredcache.cpp index b2f8d191c..3fbdfb30e 100644 --- a/zenserver/cache/structuredcache.cpp +++ b/zenserver/cache/structuredcache.cpp @@ -4,6 +4,7 @@ #include <zencore/compactbinaryvalidation.h> #include <zencore/compress.h> #include <zencore/fmtutils.h> +#include <zencore/logging.h> #include <zencore/timer.h> #include <zenhttp/httpserver.h> @@ -14,7 +15,6 @@ #include "upstream/zen.h" #include "zenstore/cidstore.h" -#include <spdlog/spdlog.h> #include <algorithm> #include <atomic> #include <filesystem> @@ -31,13 +31,13 @@ HttpStructuredCacheService::HttpStructuredCacheService(::ZenCacheStore& InC zen::CasStore& InStore, zen::CidStore& InCidStore, std::unique_ptr<UpstreamCache> UpstreamCache) -: m_Log("cache", begin(spdlog::default_logger()->sinks()), end(spdlog::default_logger()->sinks())) +: m_Log(zen::logging::Get("cache")) , m_CacheStore(InCacheStore) , m_CasStore(InStore) , m_CidStore(InCidStore) , m_UpstreamCache(std::move(UpstreamCache)) { - m_Log.set_level(spdlog::level::debug); + //m_Log.set_level(spdlog::level::debug); } HttpStructuredCacheService::~HttpStructuredCacheService() diff --git a/zenserver/cache/structuredcache.h b/zenserver/cache/structuredcache.h index d4bb94c52..c8c959569 100644 --- a/zenserver/cache/structuredcache.h +++ b/zenserver/cache/structuredcache.h @@ -4,9 +4,12 @@ #include <zenhttp/httpserver.h> -#include <spdlog/spdlog.h> #include <memory> +namespace spdlog { +class logger; +} + class ZenCacheStore; namespace zen { @@ -71,7 +74,7 @@ private: void HandleCachePayloadRequest(zen::HttpServerRequest& Request, CacheRef& Ref); void HandleCacheBucketRequest(zen::HttpServerRequest& Request, std::string_view Bucket); - spdlog::logger m_Log; + spdlog::logger& m_Log; ZenCacheStore& m_CacheStore; zen::CasStore& m_CasStore; zen::CidStore& m_CidStore; diff --git a/zenserver/compute/apply.cpp b/zenserver/compute/apply.cpp index 94dedf087..8a1c29f7e 100644 --- a/zenserver/compute/apply.cpp +++ b/zenserver/compute/apply.cpp @@ -327,7 +327,7 @@ SandboxedFunctionJob::SpawnJob(std::filesystem::path ExePath) } HttpFunctionService::HttpFunctionService(CasStore& Store, CidStore& InCidStore, const std::filesystem::path& BaseDir) -: m_Log("apply", begin(spdlog::default_logger()->sinks()), end(spdlog::default_logger()->sinks())) +: m_Log(logging::Get("apply")) , m_CasStore(Store) , m_CidStore(InCidStore) , m_SandboxPath(BaseDir / "scratch") @@ -613,90 +613,6 @@ HttpFunctionService::HttpFunctionService(CasStore& Store, CidStore& InCidStore, } }, HttpVerb::kPost); - - // This is just for reference - m_Router.RegisterRoute( - "jobs/noop", - [this](HttpRouterRequest& Req) { - HttpServerRequest& HttpReq = Req.ServerRequest(); - - switch (HttpReq.RequestVerb()) - { - case HttpVerb::kGet: - break; - - case HttpVerb::kPost: - { - IoBuffer Payload = HttpReq.ReadPayload(); - CbObject RequestObject = LoadCompactBinaryObject(Payload); - - bool AllOk = true; - - std::vector<IoHash> NeedList; - - std::filesystem::path SandboxDir{CreateNewSandbox()}; - - spdlog::debug("setting up job in sandbox '{}'", SandboxDir); - - zen::DeleteDirectories(SandboxDir); - zen::CreateDirectories(SandboxDir); - - for (auto Entry : RequestObject["files"sv]) - { - CbObjectView Ob = Entry.AsObjectView(); - - std::string_view FileName = Ob["file"sv].AsString(); - const IoHash FileHash = Ob["hash"sv].AsHash(); - uint64_t FileSize = Ob["size"sv].AsUInt64(); - - if (IoBuffer Chunk = m_CasStore.FindChunk(FileHash); !Chunk) - { - spdlog::debug("MISSING: {} {} {}", FileHash, FileName, FileSize); - AllOk = false; - - NeedList.push_back(FileHash); - } - else - { - std::filesystem::path FullPath = SandboxDir / FileName; - - const IoBuffer* Chunks[] = {&Chunk}; - - zen::WriteFile(FullPath, Chunks, 1); - } - } - - if (!AllOk) - { - // TODO: Could report all the missing pieces in the response here - return HttpReq.WriteResponse(HttpResponseCode::NotFound); - } - - std::string Executable8{RequestObject["cmd"].AsString()}; - std::string Args8{RequestObject["args"].AsString()}; - - std::wstring Executable = Utf8ToWide(Executable8); - std::wstring Args = Utf8ToWide(Args8); - - spdlog::debug("spawning job in sandbox '{}': '{}' '{}'", SandboxDir, Executable8, Args8); - - std::filesystem::path ExeName = SandboxDir / Executable; - - BasicFunctionJob Job; - Job.SetWorkingDirectory(SandboxDir); - Job.SpawnJob(ExeName, Args); - Job.Wait(); - - CbObjectWriter Response; - - Response << "exitcode" << Job.ExitCode(); - - return HttpReq.WriteResponse(HttpResponseCode::OK, Response.Save()); - } - break; - } - }, - HttpVerb::kGet | HttpVerb::kPost); } HttpFunctionService::~HttpFunctionService() diff --git a/zenserver/compute/apply.h b/zenserver/compute/apply.h index 695dc2e6e..474156a5e 100644 --- a/zenserver/compute/apply.h +++ b/zenserver/compute/apply.h @@ -28,7 +28,7 @@ public: virtual void HandleRequest(HttpServerRequest& Request) override; private: - spdlog::logger m_Log; + spdlog::logger& m_Log; HttpRequestRouter m_Router; CasStore& m_CasStore; CidStore& m_CidStore; diff --git a/zenserver/projectstore.cpp b/zenserver/projectstore.cpp index 2bbc1dce3..de1d90ef9 100644 --- a/zenserver/projectstore.cpp +++ b/zenserver/projectstore.cpp @@ -7,6 +7,7 @@ #include <zencore/compactbinaryvalidation.h> #include <zencore/filesystem.h> #include <zencore/fmtutils.h> +#include <zencore/logging.h> #include <zencore/stream.h> #include <zencore/string.h> #include <zencore/timer.h> @@ -22,11 +23,8 @@ # include <rocksdb/db.h> #endif -#include <ppl.h> -#include <spdlog/spdlog.h> #include <xxh3.h> #include <asio.hpp> -#include <future> #include <latch> #include <string> @@ -785,12 +783,12 @@ ProjectStore::Project::Flush() ////////////////////////////////////////////////////////////////////////// ProjectStore::ProjectStore(CasStore& Store, std::filesystem::path BasePath) -: m_Log("project", begin(spdlog::default_logger()->sinks()), end(spdlog::default_logger()->sinks())) +: m_Log(zen::logging::Get("project")) , m_ProjectBasePath(BasePath) , m_CasStore(Store) { m_Log.info("initializing project store at '{}'", BasePath); - m_Log.set_level(spdlog::level::debug); + //m_Log.set_level(spdlog::level::debug); } ProjectStore::~ProjectStore() @@ -908,7 +906,7 @@ ProjectStore::OpenProjectOplog(std::string_view ProjectId, std::string_view Oplo HttpProjectService::HttpProjectService(CasStore& Store, ProjectStore* Projects) : m_CasStore(Store) -, m_Log("project", begin(spdlog::default_logger()->sinks()), end(spdlog::default_logger()->sinks())) +, m_Log(logging::Get("project")) , m_ProjectStore(Projects) { using namespace std::literals; diff --git a/zenserver/projectstore.h b/zenserver/projectstore.h index 8fe189ab9..3068c61b4 100644 --- a/zenserver/projectstore.h +++ b/zenserver/projectstore.h @@ -182,7 +182,7 @@ public: const std::filesystem::path& BasePath() const { return m_ProjectBasePath; } private: - spdlog::logger m_Log; + spdlog::logger& m_Log; CasStore& m_CasStore; std::filesystem::path m_ProjectBasePath; RwLock m_ProjectsLock; @@ -221,7 +221,7 @@ public: private: CasStore& m_CasStore; - spdlog::logger m_Log; + spdlog::logger& m_Log; HttpRequestRouter m_Router; Ref<ProjectStore> m_ProjectStore; }; diff --git a/zenserver/sos/sos.cpp b/zenserver/sos/sos.cpp index d52a346ae..ce0a8f6b1 100644 --- a/zenserver/sos/sos.cpp +++ b/zenserver/sos/sos.cpp @@ -2,8 +2,12 @@ #include "sos.h" +#include <zencore/logging.h> + +namespace zen { + HttpCommonStructuredObjectStore::HttpCommonStructuredObjectStore() -: m_Log("sos", begin(spdlog::default_logger()->sinks()), end(spdlog::default_logger()->sinks())) +: m_Log(logging::Get("sos")) { m_Router.AddPattern("ns", "([[:alnum:]_-.]+)"); m_Router.AddPattern("bucket", "([[:alnum:]_-.]+)"); @@ -25,3 +29,5 @@ HttpCommonStructuredObjectStore::HandleRequest(zen::HttpServerRequest& HttpServi { ZEN_UNUSED(HttpServiceRequest); } + +} diff --git a/zenserver/sos/sos.h b/zenserver/sos/sos.h index da9064262..6e6a5f26a 100644 --- a/zenserver/sos/sos.h +++ b/zenserver/sos/sos.h @@ -4,7 +4,9 @@ #include <zenhttp/httpserver.h> -#include <spdlog/spdlog.h> +#include <zencore/logging.h> + +namespace zen { /** Simple Object Store API * @@ -25,6 +27,8 @@ public: virtual void HandleRequest(zen::HttpServerRequest& HttpServiceRequest) override; private: - spdlog::logger m_Log; + spdlog::logger& m_Log; zen::HttpRequestRouter m_Router; }; + +} diff --git a/zenserver/testing/launch.cpp b/zenserver/testing/launch.cpp index b031193d5..f7db9dd71 100644 --- a/zenserver/testing/launch.cpp +++ b/zenserver/testing/launch.cpp @@ -8,6 +8,7 @@ #include <zencore/fmtutils.h> #include <zencore/iobuffer.h> #include <zencore/iohash.h> +#include <zencore/logging.h> #include <zencore/windows.h> #include <zenstore/CAS.h> @@ -317,7 +318,7 @@ SandboxedJob::SpawnJob(std::filesystem::path ExePath) } HttpLaunchService::HttpLaunchService(CasStore& Store, const std::filesystem::path& SandboxBaseDir) -: m_Log("exec", begin(spdlog::default_logger()->sinks()), end(spdlog::default_logger()->sinks())) +: m_Log(logging::Get("exec")) , m_CasStore(Store) , m_SandboxPath(SandboxBaseDir) { diff --git a/zenserver/testing/launch.h b/zenserver/testing/launch.h index a6eb137d2..001615499 100644 --- a/zenserver/testing/launch.h +++ b/zenserver/testing/launch.h @@ -24,7 +24,7 @@ public: virtual void HandleRequest(HttpServerRequest& Request) override; private: - spdlog::logger m_Log; + spdlog::logger& m_Log; HttpRequestRouter m_Router; CasStore& m_CasStore; std::filesystem::path m_SandboxPath; |