GitHub user rm5248 created a discussion: Next Log4cxx Major release thoughts

Whenever we do a new major release of Log4cxx(also breaking ABI compatibility), 
what should we do?  My current thoughts are as follows:

1. Remove APR(or at the very minimum make it optional).  I would like to see 
the core library be in just standard C++
2. What should the minimum C++ version be?  C++20 includes 
[std::source_location](http://en.cppreference.com/w/cpp/utility/source_location.html),
 while C++23 includes 
[std::stacktrace](http://en.cppreference.com/w/cpp/utility/basic_stacktrace.html)
3. add `constexpr` to a bunch of functions?  I've been reading up on how 
`constexpr` works, so perhaps some more thoughts on this later
4. Are there certain operations that could be better handled by newer C++ 
features?  For example, could we make the API more usable by removing the 
`LOG4CXX_DEBUG` family of macros and instead use variadic templates?
5. Do we have any areas in the code where performance is a known problem, and 
could a redesign help to eliminate performance issues?
6. What about C++ modules?  Are traditional headers ever going away?

Features to definitely keep:

1. Static declaration of loggers.  While this does lead to undefined behavior 
at times(generally when exiting), being able to statically declare a logger is 
very important to me.

What other thoughts do people have?

In terms of timelines, I wouldn't expect a new version to be done before the 
end of 2026, so this is a pretty long timeline.

GitHub link: https://github.com/apache/logging-log4cxx/discussions/519

----
This is an automatically sent email for dev@logging.apache.org.
To unsubscribe, please send an email to: dev-unsubscr...@logging.apache.org

Reply via email to