IBM Support

PI26064: LOGGING NEEDS TO BE IMPROVED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • No error messages are reported if java.util.logging is
    misconfigured.
    
    Rotated log files can be deleted if output is generated too
    quickly.  In particular, if the maximum number of FFDC log files
    is set to a low value and more than that number of FFDC incident
    reports are generated in a second, then rotated FFDC incident
    reports will be deleted.
    
    Log files grow to twice the maximum file size on double-byte
    character set systems.
    
    The process ID is not reported in any log file.
    
    Some log messages are printed twice unexpectedly if the
    -Xhealthcenter IBM JVM option is enabled.
    
    Timestamps in messages.log and trace.log differ for the same
    message.
    
    The three-column hex, ASCII, and EBCDIC output used in some z/OS
    trace uses an inconsistent line separator.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty Core                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: The logging component needs to be       *
    *                      improved                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The logging component replaces System.out and System.err during
    server start, then it attempts to register a global logger
    handler, and then it attempts to connect the replaced System.out
    and System.err streams to console.log and messages.log.  If
    java.util.logging has been misconfigured, then any error
    messages printed by the JVM logging component while registering
    a global logger handler will be lost.
    The logging component does not keep any state while rotating log
    files.  If the maximum number of log files is 2, and 4 rotations
    happen within the same second, then it is expected that the
    rotated files will be named x.0.log, x.1.log, x.2.log, and
    x.3.log.  On the third rotation, x.2.log will be created, and
    x.0.log will be deleted.  However, on the fourth rotation,
    x.0.log will be incorrectly chosen as the log file name, and
    x.1.log and x.2.log will be incorrectly deleted.
    The logging component uses the string length as an estimate of
    the number of bytes that will be written.  On a double-byte
    character set system, this estimate will be off by a factor of
    2, so log files will be twice as large as expected before being
    rotated.
    The process ID is not reported in any log file.
    The -Xhealthcenter JVM option causes the JVM log manager to be
    initialized before it can be overridden by the Liberty log
    manager during server start.
    The z/OS three-column trace output uses a platform-specific line
    separator.
    

Problem conclusion

  • The logging component has been modified to attempt to register a
    global logger handler before replacing the System.out and
    System.err objects during server start.
    The logging component has been changed to keep state while
    rotating log files.  In the described example, the fourth
    rotation will remember that the next log file should be named
    x.3.log, and x.1.log will be removed.
    The logging component has been modified to count the actual
    number of bytes written to each log file so that the maximum log
    file size will be respected.
    The process ID will now be printed in the messages.log header if
    the JVM supports it.
    The ws-javaagent.jar has been modified to initialize the Liberty
    log manager, and the server script has been modified to
    initialize ws-javaagent.jar before processing the jvm.options
    file, which might include the -Xhealthcenter option.
    The z/OS three-column trace output has been modified to use a
    consistent line separator.
    The fix for this APAR is currently targeted for inclusion in fix
    pack 8.5.5.4.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI26064

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-09-19

  • Closed date

    2014-10-04

  • Last modified date

    2014-10-13

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

  • R855 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"855","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022