Hi all,
As some of you might already be aware, ACS version 4.20 will bring our
logging library, log4j, from version 1.2 to 2.19. This change will bring
us a number of benefits, such as:
* Async Loggers - performance similar to logging switched off
* Custom log levels
* Automatically reload its configuration upon modification without
loosing log events during reconfigurations.
* Java 8-style lambda support for lazy logging (which enables methods
to be executed only when necessary, i.e.: the right log level)
* Log4j 2 is garbage-free (or at least low-garbage) since version 2.6
* Plugin Architecture - easy to extend by building custom components
* Log4j 2 API supports more than just logging Strings: CharSequences,
Objects and custom Messages. Messages allow support for interesting
and complex constructs to be passed through the logging system and
be efficiently manipulated. Users are free to create their own
Message types and write custom Layouts, Filters and Lookups to
manipulate them.
* Concurrency improvements: log4j2 uses java.util.concurrent libraries
to perform locking at the lowest level possible. Log4j-1.x has known
deadlock issues.
* Configuration via XML, JSON, YAML, properties configuration files or
programmatically.
Regarding the upgrade:
* To our devs:
We are planning on merging #7131 as soon as 4.19 is released, this
way, we will have plenty of time to fix any other PRs that might break
with this change. If you have any issues regarding log4j2 in your PRs
after the PR is merged, feel free to ping me (@JoaoJandre) on GitHub and
I'll try my best to help you. Also, for any doubts, it might be a good
idea to check the log4j documentation:
https://logging.apache.org/log4j/2.x/manual/index.html.
* To our users:
For users that haven't tinkered with the default log
configurations, this change should not bring any work to you, when
installing ACS 4.20, your package manager should ask you if you want to
upgrade your log4j configuration, please accept this, as the old
configuration will not work anymore.
For those who have made modifications to the default configuration,
please take a look at this documentation:
https://logging.apache.org/log4j/2.x/manual/migration.html#Log4j2ConfigurationFormat;
it should help you migrate your custom configuration.
In any case, if you have problems upgrading from 4.19 to 4.20, feel
free to create a thread on the users list so that we can try to help
you. I should remind you that 4.20 will only be launched in the end of
Q2/start of Q3, so you'll have plenty of time to review what needs to be
done regarding the log4j2 configuration.
Best regards,
João Jandre.