CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
Logger.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTEvent.h"
4#include "RE/L/LogEvent.h"
5
6#define SKSE_MAKE_SOURCE_LOGGER(a_func, a_type) \
7 \
8 template <class... Args> \
9 struct [[maybe_unused]] a_func \
10 { \
11 a_func() = delete; \
12 \
13 explicit a_func( \
14 fmt::format_string<Args...> a_fmt, \
15 Args&&... a_args, \
16 std::source_location a_loc = std::source_location::current()) \
17 { \
18 spdlog::log( \
19 spdlog::source_loc{ \
20 a_loc.file_name(), \
21 static_cast<int>(a_loc.line()), \
22 a_loc.function_name() }, \
23 spdlog::level::a_type, \
24 a_fmt, \
25 std::forward<Args>(a_args)...); \
26 } \
27 }; \
28 \
29 template <class... Args> \
30 a_func(fmt::format_string<Args...>, Args&&...) -> a_func<Args...>;
31
32namespace SKSE::log
33{
39 SKSE_MAKE_SOURCE_LOGGER(critical, critical);
40
41 [[nodiscard]] std::optional<std::filesystem::path> log_directory();
42
43 void add_papyrus_sink(std::regex a_filter);
45}
46
47#undef SKSE_MAKE_SOURCE_LOGGER
#define SKSE_MAKE_SOURCE_LOGGER(a_func, a_type)
Definition: Logger.h:6
Definition: Logger.h:33
void remove_papyrus_sink()
void add_papyrus_sink(std::regex a_filter)
std::optional< std::filesystem::path > log_directory()