MeshLib
 
Loading...
Searching...
No Matches
MRLog.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRPch/MRSpdlog.h"
5#include <filesystem>
6
7namespace MR
8{
9
12
14class Logger
15{
16public:
18
20 MRMESH_API const std::shared_ptr<spdlog::logger>& getSpdLogger() const;
21
23 MRMESH_API std::string getDefaultPattern() const;
24
26 MRMESH_API void addSink( const spdlog::sink_ptr& sink );
27 MRMESH_API void removeSink( const spdlog::sink_ptr& sink );
28
30 MRMESH_API std::filesystem::path getLogFileName() const;
31private:
32 Logger();
33 std::shared_ptr<spdlog::logger> logger_;
34};
35
37
38}
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Make default spd logger.
Definition MRLog.h:15
MRMESH_API void addSink(const spdlog::sink_ptr &sink)
adds custom sink to logger
MRMESH_API std::filesystem::path getLogFileName() const
return filename of first found file sink, if there is no one, returns {}
MRMESH_API void removeSink(const spdlog::sink_ptr &sink)
static MRMESH_API Logger & instance()
MRMESH_API const std::shared_ptr< spdlog::logger > & getSpdLogger() const
store this pointer if need to prolong logger life time (necessary to log something from destructors)
MRMESH_API std::string getDefaultPattern() const
returns default logger pattern
Definition MRCameraOrientationPlugin.h:7