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.

Reply via email to