Loading...
Searching...
No Matches
eonc::log::FileScoped Struct Reference

RAII helper for file-based logging in a class. More...

#include <EonLogger.h>

Public Member Functions

 FileScoped (std::string_view name, std::string_view filename, std::string_view pattern="%(message)") noexcept
 operator quill::Logger * () const noexcept
quill::Logger * operator-> () const noexcept
FileScopedoperator= (quill::Logger *l) noexcept
quill::Logger * ptr () const noexcept

Public Attributes

quill::Logger * logger {nullptr}

Detailed Description

RAII helper for file-based logging in a class.

Similar to Scoped, but writes to a dedicated file. Useful for optimizer traces, detailed diagnostics, etc.

Example:

class Optimizer {
eonc::log::FileScoped m_log{"opt_trace", "optimizer.log"};
public:
void step() {
QUILL_LOG_INFO(m_log, "iteration {}", iter);
}
};
RAII helper for file-based logging in a class.
Definition EonLogger.h:208

Definition at line 208 of file EonLogger.h.

Constructor & Destructor Documentation

◆ FileScoped()

eonc::log::FileScoped::FileScoped ( std::string_view name,
std::string_view filename,
std::string_view pattern = "%(message)" )
inlinenoexcept

Definition at line 211 of file EonLogger.h.

213 : logger(get_file(name, filename, pattern)) {}
quill::Logger * get_file(std::string_view name, std::string_view filename, std::string_view pattern="%(message)")
Get or create a named logger with a file sink.
Definition EonLogger.h:111
quill::Logger * logger
Definition EonLogger.h:209

Member Function Documentation

◆ operator quill::Logger *()

eonc::log::FileScoped::operator quill::Logger * ( ) const
inlinenoexcept

Definition at line 215 of file EonLogger.h.

215{ return logger; }

◆ operator->()

quill::Logger * eonc::log::FileScoped::operator-> ( ) const
inlinenoexcept

Definition at line 217 of file EonLogger.h.

217{ return logger; }

◆ operator=()

FileScoped & eonc::log::FileScoped::operator= ( quill::Logger * l)
inlinenoexcept

Definition at line 218 of file EonLogger.h.

218 {
219 logger = l;
220 return *this;
221 }

◆ ptr()

quill::Logger * eonc::log::FileScoped::ptr ( ) const
inlinenodiscardnoexcept

Definition at line 222 of file EonLogger.h.

222{ return logger; }

Member Data Documentation

◆ logger

quill::Logger* eonc::log::FileScoped::logger {nullptr}

Definition at line 209 of file EonLogger.h.

209{nullptr};

The documentation for this struct was generated from the following file: