mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 10:16:24 +02:00
[Setup] Add logging for registry changes + add logger for powerpreview
- cleanup logger project + remove SettingsAPI dependency
This commit is contained in:
committed by
Andrey Nekrasov
parent
d036740c8b
commit
bef119b03b
@@ -3,7 +3,7 @@
|
||||
#include "pch.h"
|
||||
#include "framework.h"
|
||||
#include "logger.h"
|
||||
#include <map>
|
||||
#include <unordered_map>
|
||||
#include <spdlog/sinks/daily_file_sink.h>
|
||||
#include <spdlog/sinks/msvc_sink.h>
|
||||
#include <spdlog/sinks/null_sink.h>
|
||||
@@ -16,26 +16,32 @@ using spdlog::sinks::daily_file_sink_mt;
|
||||
using spdlog::sinks::msvc_sink_mt;
|
||||
using std::make_shared;
|
||||
|
||||
std::map<std::wstring, level_enum> logLevelMapping = {
|
||||
{ L"trace", level_enum::trace },
|
||||
{ L"debug", level_enum::debug },
|
||||
{ L"info", level_enum::info },
|
||||
{ L"warn", level_enum::warn },
|
||||
{ L"err", level_enum::err },
|
||||
{ L"critical", level_enum::critical },
|
||||
{ L"off", level_enum::off },
|
||||
};
|
||||
namespace
|
||||
{
|
||||
const std::unordered_map<std::wstring, level_enum> logLevelMapping = {
|
||||
{ L"trace", level_enum::trace },
|
||||
{ L"debug", level_enum::debug },
|
||||
{ L"info", level_enum::info },
|
||||
{ L"warn", level_enum::warn },
|
||||
{ L"err", level_enum::err },
|
||||
{ L"critical", level_enum::critical },
|
||||
{ L"off", level_enum::off },
|
||||
};
|
||||
}
|
||||
|
||||
level_enum getLogLevel(std::wstring_view logSettingsPath)
|
||||
{
|
||||
auto logLevel = get_log_settings(logSettingsPath).logLevel;
|
||||
level_enum result = logLevelMapping[LogSettings::defaultLogLevel];
|
||||
if (logLevelMapping.find(logLevel) != logLevelMapping.end())
|
||||
if (auto it = logLevelMapping.find(logLevel); it != logLevelMapping.end())
|
||||
{
|
||||
result = logLevelMapping[logLevel];
|
||||
return it->second;
|
||||
}
|
||||
|
||||
return result;
|
||||
if (auto it = logLevelMapping.find(LogSettings::defaultLogLevel); it != logLevelMapping.end())
|
||||
{
|
||||
return it->second;
|
||||
}
|
||||
return level_enum::trace;
|
||||
}
|
||||
|
||||
std::shared_ptr<spdlog::logger> Logger::logger = spdlog::null_logger_mt("null");
|
||||
@@ -89,3 +95,14 @@ void Logger::init(std::string loggerName, std::wstring logFilePath, std::wstring
|
||||
spdlog::flush_every(std::chrono::seconds(3));
|
||||
logger->info("{} logger is initialized", loggerName);
|
||||
}
|
||||
|
||||
void Logger::init(std::vector<spdlog::sink_ptr> sinks)
|
||||
{
|
||||
auto logger = std::make_shared<spdlog::logger>("", begin(sinks), end(sinks));
|
||||
if (!logger)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Logger::logger = logger;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user