aboutsummaryrefslogtreecommitdiff
path: root/src/wandad.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2018-12-08 11:54:28 +0100
committerFelix Morgner <felix.morgner@gmail.com>2018-12-08 11:54:28 +0100
commit7b940a39dfef6f19846fe357d4a5167c66c79e85 (patch)
treee83fef50b0125ff8034305d71821d6857522d60a /src/wandad.cpp
parent0c1d1a0f24655c22a373c19aac90a6a225a353e6 (diff)
downloadwanda-7b940a39dfef6f19846fe357d4a5167c66c79e85.tar.xz
wanda-7b940a39dfef6f19846fe357d4a5167c66c79e85.zip
wanda: extract logging
Diffstat (limited to 'src/wandad.cpp')
-rw-r--r--src/wandad.cpp30
1 files changed, 13 insertions, 17 deletions
diff --git a/src/wandad.cpp b/src/wandad.cpp
index e955beb..7321f04 100644
--- a/src/wandad.cpp
+++ b/src/wandad.cpp
@@ -2,15 +2,14 @@
#include "control_interface.hpp"
#include "environment.hpp"
#include "filesystem.hpp"
+#include "logging.hpp"
#include "optional.hpp"
#include "setting.hpp"
#include "wallpaper.hpp"
#include "xdg.hpp"
#include <asio.hpp>
-
#include <spdlog/sinks/stdout_color_sinks.h>
-#include <spdlog/spdlog.h>
#include <csignal>
#include <set>
@@ -34,9 +33,8 @@ namespace
struct listener : wanda::control_interface::listener
{
- listener(std::vector<std::filesystem::path> const & wallpapers, std::shared_ptr<spdlog::logger> logger)
+ listener(std::vector<std::filesystem::path> const & wallpapers)
: m_wallpapers{wallpapers}
- , m_logger{logger}
{
}
@@ -47,18 +45,17 @@ namespace
case wanda::command_id::change:
{
auto wallpaper = wanda::random_pick(m_wallpapers);
- m_logger->info("changing wallpaper to '{}'", wallpaper.native());
- wanda::set_wallpaper(wallpaper, m_logger);
+ wanda::get_logger()->info("changing wallpaper to '{}'", wallpaper.native());
+ wanda::set_wallpaper(wallpaper);
break;
}
default:
- m_logger->error("received unknown command '{}'", static_cast<int>(command.id));
+ wanda::get_logger()->error("received unknown command '{}'", static_cast<int>(command.id));
}
}
private:
std::vector<std::filesystem::path> const & m_wallpapers;
- std::shared_ptr<spdlog::logger> m_logger;
};
} // namespace
@@ -67,20 +64,20 @@ int main()
{
using namespace wanda::std_ext;
- auto log = spdlog::stdout_color_mt("wandad");
- log->info("wanda is starting up");
+ wanda::initialize_logger(std::make_shared<spdlog::sinks::stdout_color_sink_st>());
+ wanda::get_logger()->info("wanda is starting up");
with(wanda::scan({"/usr/share/backgrounds"}, image_filter), [&](auto const & list) {
auto service = asio::io_service{};
auto socket_path = wanda::xdg_path_for(wanda::xdg_directory::runtime_dir, wanda::environment{}) / ".wanda_interface";
- log->info("starting control interface on '{}'", socket_path.native());
- auto listener = ::listener{list, log};
- auto interface = wanda::make_interface(service, socket_path, listener, log);
+ wanda::get_logger()->info("starting control interface on '{}'", socket_path.native());
+ auto listener = ::listener{list};
+ auto interface = wanda::make_interface(service, socket_path, listener);
if (!interface)
{
- log->error("failed to start control interface");
+ wanda::get_logger()->error("failed to start control interface");
return;
}
@@ -99,9 +96,8 @@ int main()
});
auto wallpaper = wanda::random_pick(list);
- wanda::set_wallpaper(wallpaper, log);
+ wanda::set_wallpaper(wallpaper);
service.run();
- }) ||
- [&] { log->error("wallpaper directory does not exist"); };
+ }) || [&] { wanda::get_logger()->error("wallpaper directory does not exist"); };
}