debug: use source_location for native logger
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
#include "Debug/Logger.h"
|
||||
#include "Debug/ConsoleLogSink.h"
|
||||
#include <chrono>
|
||||
#include <functional>
|
||||
#include <thread>
|
||||
|
||||
namespace XCEngine {
|
||||
namespace Debug {
|
||||
@@ -40,6 +42,18 @@ void Logger::RemoveSink(ILogSink* sink) {
|
||||
}
|
||||
}
|
||||
|
||||
void Logger::Log(LogLevel level, LogCategory category,
|
||||
const Containers::String& message,
|
||||
const std::source_location& location) {
|
||||
Log(
|
||||
level,
|
||||
category,
|
||||
message,
|
||||
location.file_name(),
|
||||
static_cast<int32_t>(location.line()),
|
||||
location.function_name());
|
||||
}
|
||||
|
||||
void Logger::Log(LogLevel level, LogCategory category,
|
||||
const Containers::String& message, const char* file,
|
||||
int32_t line, const char* function) {
|
||||
@@ -73,28 +87,46 @@ void Logger::Log(LogLevel level, LogCategory category,
|
||||
}
|
||||
}
|
||||
|
||||
void Logger::Verbose(LogCategory category, const Containers::String& message) {
|
||||
Log(LogLevel::Verbose, category, message);
|
||||
void Logger::Verbose(
|
||||
LogCategory category,
|
||||
const Containers::String& message,
|
||||
const std::source_location& location) {
|
||||
Log(LogLevel::Verbose, category, message, location);
|
||||
}
|
||||
|
||||
void Logger::Debug(LogCategory category, const Containers::String& message) {
|
||||
Log(LogLevel::Debug, category, message);
|
||||
void Logger::Debug(
|
||||
LogCategory category,
|
||||
const Containers::String& message,
|
||||
const std::source_location& location) {
|
||||
Log(LogLevel::Debug, category, message, location);
|
||||
}
|
||||
|
||||
void Logger::Info(LogCategory category, const Containers::String& message) {
|
||||
Log(LogLevel::Info, category, message);
|
||||
void Logger::Info(
|
||||
LogCategory category,
|
||||
const Containers::String& message,
|
||||
const std::source_location& location) {
|
||||
Log(LogLevel::Info, category, message, location);
|
||||
}
|
||||
|
||||
void Logger::Warning(LogCategory category, const Containers::String& message) {
|
||||
Log(LogLevel::Warning, category, message);
|
||||
void Logger::Warning(
|
||||
LogCategory category,
|
||||
const Containers::String& message,
|
||||
const std::source_location& location) {
|
||||
Log(LogLevel::Warning, category, message, location);
|
||||
}
|
||||
|
||||
void Logger::Error(LogCategory category, const Containers::String& message) {
|
||||
Log(LogLevel::Error, category, message);
|
||||
void Logger::Error(
|
||||
LogCategory category,
|
||||
const Containers::String& message,
|
||||
const std::source_location& location) {
|
||||
Log(LogLevel::Error, category, message, location);
|
||||
}
|
||||
|
||||
void Logger::Fatal(LogCategory category, const Containers::String& message) {
|
||||
Log(LogLevel::Fatal, category, message);
|
||||
void Logger::Fatal(
|
||||
LogCategory category,
|
||||
const Containers::String& message,
|
||||
const std::source_location& location) {
|
||||
Log(LogLevel::Fatal, category, message, location);
|
||||
}
|
||||
|
||||
void Logger::SetMinimumLevel(LogLevel level) {
|
||||
|
||||
Reference in New Issue
Block a user