tidy
This commit is contained in:
@@ -15,109 +15,35 @@ namespace Mutil::Logging {
|
|||||||
private:
|
private:
|
||||||
/// Output stream, default std::clog.
|
/// Output stream, default std::clog.
|
||||||
std::ostream &os = std::clog;
|
std::ostream &os = std::clog;
|
||||||
/// Lambda formatting function, primarily for storing a format string in a versatile way, users allowed to supply their own.
|
/// Lambda function on message, can be used for formatting
|
||||||
//std::function<std::string()> λPrefix;
|
|
||||||
std::function<std::string(const std::string_view)> λMessage;
|
std::function<std::string(const std::string_view)> λMessage;
|
||||||
//std::function<std::string(const std::string)> λMessage;
|
|
||||||
//std::function<std::string()> λSuffix;
|
|
||||||
public:
|
public:
|
||||||
/// Default constructor, just simple messages to be written to console
|
/// Default constructor, just simple messages to be written to console stderr
|
||||||
LoggerObj() {};
|
LoggerObj() {};
|
||||||
/// Construct with specified output stream
|
/// Construct with specified output stream
|
||||||
LoggerObj(std::ostream &os) : os(os) {};
|
LoggerObj(std::ostream &os) : os(os) {};
|
||||||
|
|
||||||
/// Full construction
|
/// Full construction
|
||||||
LoggerObj(std::ostream &os, std::function<std::string(const std::string_view)> λMessage) : os(os), λMessage(λMessage) {};
|
LoggerObj(std::ostream &os, std::function<std::string(const std::string_view)> λMessage) : os(os), λMessage(λMessage) {};
|
||||||
|
|
||||||
/// Full construction
|
|
||||||
//LoggerObj(std::ostream &os,
|
|
||||||
// std::function<std::string()> λprefix,
|
|
||||||
// std::function<std::string(const std::string)> λmessage,
|
|
||||||
// std::function<std::string()> λsuffix
|
|
||||||
// ) : os(os), λPrefix(λprefix), λMessage(λmessage), λSuffix(λsuffix) {};
|
|
||||||
public:
|
public:
|
||||||
/// Send a simple log message
|
/// Send a simple log message
|
||||||
//void operator()(const std::string_view message) {
|
void operator()(const std::string_view message) {
|
||||||
void operator()(const std::string message) {
|
|
||||||
//std::ostringstream oss;
|
|
||||||
|
|
||||||
//λPrefix && os << λPrefix();
|
|
||||||
//(λMessage && os << λMessage(message)) || os << message;
|
|
||||||
//std::cout << λMessage(message);
|
|
||||||
//λSuffix && os << λSuffix();
|
|
||||||
|
|
||||||
//os << oss.str() << std::endl;
|
|
||||||
|
|
||||||
λMessage ? os << λMessage(message) : os << message;
|
λMessage ? os << λMessage(message) : os << message;
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Send a formatted/complex log message
|
/// Send a formatted/complex log message
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void operator()(const std::format_string<Args...> fmt, Args&&... args) {
|
void operator()(const std::format_string<Args...> fmt, Args&&... args) {
|
||||||
//std::ostringstream oss;
|
|
||||||
std::string m = std::vformat(fmt.get(), std::make_format_args(args...));
|
std::string m = std::vformat(fmt.get(), std::make_format_args(args...));
|
||||||
//λPrefix && os << λPrefix();
|
|
||||||
//(λMessage && os << λMessage(m)) || os << m;
|
|
||||||
|
|
||||||
//λSuffix && os << λSuffix();
|
|
||||||
|
|
||||||
//os << oss.str() << std::endl;
|
|
||||||
|
|
||||||
λMessage ? os << λMessage(m) : os << m;
|
λMessage ? os << λMessage(m) : os << m;
|
||||||
|
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Send log messages using logger as a stream
|
/// Send log messages using logger as a stream
|
||||||
template<typename In>
|
template<typename In>
|
||||||
LoggerObj& operator<<(In message) {
|
LoggerObj& operator<<(In message) {
|
||||||
//std::ostringstream oss;
|
|
||||||
//oss << message;
|
|
||||||
//operator()(oss.str());
|
|
||||||
|
|
||||||
//(λ && os << λ() << message) ||
|
|
||||||
//os << message;
|
|
||||||
//return os;
|
|
||||||
|
|
||||||
//λPrefix && os << λPrefix();
|
|
||||||
//(λMessage && os << λMessage(message)) || os << message;
|
|
||||||
λMessage ? os << λMessage(message) : os << message;
|
λMessage ? os << λMessage(message) : os << message;
|
||||||
|
|
||||||
//λSuffix && os << λSuffix();
|
|
||||||
os << std::endl;
|
os << std::endl;
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
class Info : public LoggerObj {
|
|
||||||
public:
|
|
||||||
Info() : LoggerObj("[I] | ") {};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Warning : public LoggerObj {
|
|
||||||
public:
|
|
||||||
Warning() : LoggerObj("[W] | ") {};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Error : public LoggerObj {
|
|
||||||
public:
|
|
||||||
Error() : LoggerObj("[E] | ") {};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Verbose : public LoggerObj {
|
|
||||||
public:
|
|
||||||
Verbose() : LoggerObj("[V] | ") {};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Debug : public LoggerObj {
|
|
||||||
public:
|
|
||||||
Debug() : LoggerObj("[D] | ") {};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
37
main.cpp
37
main.cpp
@@ -7,32 +7,14 @@ class Debug : public Mutil::Logging::LoggerObj {
|
|||||||
std::string NormalRen = Mutil::Console::Graphics::Rendition().Compile();
|
std::string NormalRen = Mutil::Console::Graphics::Rendition().Compile();
|
||||||
std::string MessageRen = Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 135).Compile();
|
std::string MessageRen = Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 135).Compile();
|
||||||
std::string TraceRen = Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RBold, 241).Compile();
|
std::string TraceRen = Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RBold, 241).Compile();
|
||||||
//std::function<std::string(const std::string_view)> λMessage = [this](const std::string_view m) {
|
|
||||||
// return NormalRen + MessageRen + std::format("[D] {}", m) + NormalRen;
|
|
||||||
//};
|
|
||||||
//static std::string λMessage(const std::string m) {
|
|
||||||
// return Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 135).Compile() + std::format("[D] {}", m) + Mutil::Console::Graphics::Rendition().Compile();
|
|
||||||
//return
|
|
||||||
//return Mutil::Console::Graphics::String(std::format("[D] {}", m), {Mutil::Console::Graphics::RItalic, 135}).Render();
|
|
||||||
//};
|
|
||||||
public:
|
public:
|
||||||
Debug() : LoggerObj(std::cout, [this](const std::string_view m) {return NormalRen + MessageRen + std::format("[D] {}", m) + NormalRen;}) {};
|
Debug() : LoggerObj(std::cout, [this](const std::string_view m) {return std::format("{}{}[D] {}{}", NormalRen, MessageRen, m, NormalRen); }) {};
|
||||||
|
|
||||||
void Trace(const std::source_location &location = std::source_location::current()) {
|
void Trace(const std::source_location &location = std::source_location::current()) {
|
||||||
this->operator()("{}{} @ {}:{}", TraceRen, location.function_name(), location.file_name(), location.line());
|
this->operator()("{}{} @ {}:{}", TraceRen, location.function_name(), location.file_name(), location.line());
|
||||||
//Mutil::Console::Graphics::Rendition r(Mutil::Console::Graphics::RBold, 241);
|
|
||||||
|
|
||||||
//this->operator()("{}{} @ {}:{}", r.Compile(), location.function_name(), location.file_name(), location.line());
|
|
||||||
//this->operator()(Mutil::Console::Graphics::String(
|
|
||||||
// std::format("{} @ {}:{}", location.function_name(), location.file_name(), location.line()),
|
|
||||||
// {Mutil::Console::Graphics::RBold, 241}).Render());
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
std::function<std::string()> λprefix = [] {
|
|
||||||
return Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 252, 186, 3).Compile() + "--> " + Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RNormal).Compile();
|
|
||||||
};
|
|
||||||
std::function<std::string(const std::string_view)> λmessage = [](const std::string_view m) {
|
std::function<std::string(const std::string_view)> λmessage = [](const std::string_view m) {
|
||||||
return std::format("{}{} {}{}{}",
|
return std::format("{}{} {}{}{}",
|
||||||
Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 252, 186, 3).Compile(),
|
Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 252, 186, 3).Compile(),
|
||||||
@@ -40,13 +22,7 @@ int main() {
|
|||||||
Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RUnderline, 74).Compile(),
|
Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RUnderline, 74).Compile(),
|
||||||
m,
|
m,
|
||||||
Mutil::Console::Graphics::Rendition().Compile());
|
Mutil::Console::Graphics::Rendition().Compile());
|
||||||
//return Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RItalic, 252, 186, 3).Compile() + "--> " + Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RUnderline, 74).Compile() + m + Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RNormal).Compile()
|
|
||||||
|
|
||||||
//return Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RUnderline, 74).Compile() + m + Mutil::Console::Graphics::Rendition(Mutil::Console::Graphics::RNormal).Compile();
|
|
||||||
};
|
};
|
||||||
//std::function<std::string()> λsuffix = [] {
|
|
||||||
// return " 0";
|
|
||||||
//};
|
|
||||||
|
|
||||||
Mutil::Logging::LoggerObj l(std::cout, λmessage);
|
Mutil::Logging::LoggerObj l(std::cout, λmessage);
|
||||||
|
|
||||||
@@ -61,21 +37,10 @@ int main() {
|
|||||||
Debug d;
|
Debug d;
|
||||||
d << "DEBUGGGGING";
|
d << "DEBUGGGGING";
|
||||||
d.Trace();
|
d.Trace();
|
||||||
|
|
||||||
Mutil::Console::Graphics::Rendition sr(
|
|
||||||
Mutil::Console::Graphics::RStrikethrough |
|
|
||||||
Mutil::Console::Graphics::RUnderline,
|
|
||||||
28);
|
|
||||||
|
|
||||||
Mutil::Console::Graphics::String s("balls");
|
Mutil::Console::Graphics::String s("balls");
|
||||||
//s.Style({Mutil::Console::Graphics::RBackgroundColor, 69});
|
|
||||||
//s.Style();
|
|
||||||
|
|
||||||
//std::cout << s.Style(sr).Render() << s.Style({Mutil::Console::Graphics::RBackgroundColor, 69}).Render() << std::endl;
|
|
||||||
std::cout << s.Render({Mutil::Console::Graphics::RItalic}) << std::endl;
|
std::cout << s.Render({Mutil::Console::Graphics::RItalic}) << std::endl;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Desktop::Browser::OpenURL("https://git.redacted.cc/maxine/mutil");
|
//Desktop::Browser::OpenURL("https://git.redacted.cc/maxine/mutil");
|
||||||
//Mutil::Console::Graphics::SGARG a = Mutil::Console::Graphics::TextStyle::Underline
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user