diff --git a/c11logtest/c11logtest/c11logtest.vcxproj.filters b/c11logtest/c11logtest/c11logtest.vcxproj.filters
index 959b0c9d..04ad2d6f 100644
--- a/c11logtest/c11logtest/c11logtest.vcxproj.filters
+++ b/c11logtest/c11logtest/c11logtest.vcxproj.filters
@@ -90,12 +90,12 @@
Header Files\c11log
-
- Header Files\c11log\sinks
-
Header Files\c11log\details
+
+ Header Files\c11log
+
diff --git a/example/bench.cpp b/example/bench.cpp
index ec18ee1a..882f3e34 100644
--- a/example/bench.cpp
+++ b/example/bench.cpp
@@ -21,7 +21,7 @@ int main(int argc, char* argv[])
const unsigned int howmany = argc <= 1 ? 500000 : atoi(argv[1]);
std::string pattern = "%Y:%m:%d %H:%M:%S.%e [%n:%l] %t";
- auto formatter1 = std::unique_ptr(new formatters::pattern_formatter(pattern));
+ auto formatter1 = std::unique_ptr(new pattern_formatter(pattern));
logger cout_logger("bench", std::make_shared() , std::move(formatter1));
cout_logger.info() << "Hello logger";
@@ -29,7 +29,7 @@ int main(int argc, char* argv[])
auto nullsink = std::make_shared>();
- auto formatter2 = std::unique_ptr(new formatters::pattern_formatter(pattern));
+ auto formatter2 = std::unique_ptr(new pattern_formatter(pattern));
logger my_logger("my_logger", nullsink, std::move(formatter2));
//logger my_logger("my_logger", nullsink);
diff --git a/include/c11log/logger.h b/include/c11log/logger.h
index 2461ce6c..b9bada9a 100644
--- a/include/c11log/logger.h
+++ b/include/c11log/logger.h
@@ -47,22 +47,14 @@ public:
const std::string& name() const;
bool should_log(level::level_enum) const;
+
template details::line_logger log(level::level_enum lvl, const Args&... args);
-
- template details::line_logger trace(const T&);
- template details::line_logger debug(const T&);
+ template details::line_logger trace(const Args&... args);
+ template details::line_logger debug(const Args&... args);
template details::line_logger info(const Args&... args);
-
- template details::line_logger warn(const T&);
- template details::line_logger error(const T&);
- template details::line_logger critical(const T&);
-
- details::line_logger trace();
- details::line_logger debug();
- details::line_logger warn();
- details::line_logger& error();
- details::line_logger critical();
-
+ template details::line_logger warn(const Args&... args);
+ template details::line_logger error(const Args&... args);
+ template details::line_logger critical(const Args&... args);
@@ -126,27 +118,10 @@ inline c11log::logger::logger(const std::string& name, It begin, It end, formatt
}
-
inline c11log::logger::logger(const std::string& name, sink_ptr sink, formatter_ptr f) :
logger(name, {sink}, std::move(f)) {}
-template
-inline c11log::details::line_logger c11log::logger::trace(const T& msg)
-{
- details::line_logger l(this, level::TRACE, should_log(level::TRACE));
- l.write(msg);
- return l;
-}
-
-template
-inline c11log::details::line_logger c11log::logger::debug(const T& msg)
-{
- c11log::details::line_logger l(this, level::DEBUG, should_log(level::DEBUG));
- l.write(msg);
- return l;
-}
-
template
inline c11log::details::line_logger c11log::logger::log(level::level_enum lvl, const Args&... args) {
details::line_logger l(this, lvl, true);
@@ -154,55 +129,35 @@ inline c11log::details::line_logger c11log::logger::log(level::level_enum lvl, c
return l;
}
+
+template
+inline c11log::details::line_logger c11log::logger::trace(const Args&... args) {
+ return log(level::TRACE, args...);
+}
+
+template
+inline c11log::details::line_logger c11log::logger::debug(const Args&... args) {
+ return log(level::DEBUG, args...);
+}
+
template
inline c11log::details::line_logger c11log::logger::info(const Args&... args) {
- details::line_logger l(this, level::INFO, should_log(level::INFO));
- _variadic_log(l, args...);
- return l;
+ return log(level::INFO, args...);
}
-template
-inline c11log::details::line_logger c11log::logger::warn(const T& msg)
-{
- details::line_logger l(this, level::WARNING, should_log(level::WARNING));
- l.write(msg);
- return l;
+template
+inline c11log::details::line_logger c11log::logger::warn(const Args&... args) {
+ return log(level::WARNING, args...);
}
-template
-inline c11log::details::line_logger c11log::logger::critical(const T& msg)
-{
- details::line_logger l(this, level::CRITICAL, should_log(level::CRITICAL));
- l.write(msg);
- return l;
+template
+inline c11log::details::line_logger c11log::logger::critical(const Args&... args) {
+ return log(level::CRITICAL, args...);
}
-
-inline c11log::details::line_logger c11log::logger::trace()
-{
- return details::line_logger(this, level::TRACE, should_log(level::TRACE));
-}
-
-inline c11log::details::line_logger c11log::logger::debug()
-{
- return details::line_logger(this, level::DEBUG, should_log(level::DEBUG));
-}
-
-
-inline c11log::details::line_logger c11log::logger::warn()
-{
- return details::line_logger(this, level::WARNING, should_log(level::WARNING));
-}
-
-inline c11log::details::line_logger c11log::logger::critical()
-{
- return details::line_logger(this, level::CRITICAL, should_log(level::CRITICAL));
-}
-
-
inline const std::string& c11log::logger::name() const
{
return _name;