Limiting the growth of Java virtual machine log files using scripting

 

Procedure

  1. Start wsadmin

  2. Identify the application server and assign it to the server1 variable, for example:

    • Jacl

      set s1 [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]
      

    • Jython

      s1 = AdminConfig.getid('/Cell:mycell/Node:mynode/Server:server1/')
      print s1
      

    where:

    set is a Jacl command
    s1 is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object representing the WAS configuration
    getid is an AdminConfig command
    Cell is the object type
    mycell is the name of the object that will be modified
    Node is the object type
    mynode is the name of the object that will be modified
    Server is the object type
    server1 is the name of the object that will be modified
    print a Jython command
    Example output

    server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
    

  3. Identify the stream log and assign it to the log variable, for example:

    • The following example identifies the output stream log:

      • Using Jacl

        set log [$AdminConfig showAttribute $s1 outputStreamRedirect]
        

      • Using Jython

        log = AdminConfig.showAttribute(s1, 'outputStreamRedirect')
        

    • The following example identifies the error stream log:

      • Using Jacl

        set log [$AdminConfig showAttribute $s1 errorStreamRedirect]
        

      • Using Jython

        log = AdminConfig.showAttribute(s1, 'errorStreamRedirect')
        

    Example output

    (cells/mycell/nodes/mynode/servers/server1|server.xml#StreamRedirect_2)
    

  4. List the current values of the stream log, for example:

    • Using Jacl

      $AdminConfig show $log
      

    • Using Jython

      AdminConfig.show(log)
      

    Example output

    {baseHour 24}
    {fileName ${SERVER_LOG_ROOT}/SystemOut.log}
    {formatWrites true}
    {maxNumberOfBackupFiles 1}
    {messageFormatKind BASIC}
    {rolloverPeriod 24}
    {rolloverSize 1}
    {rolloverType SIZE}
    {suppressStackTrace false}
    {suppressWrites false}
    

  5. Modify the rotation policy for the stream log.

    • The following example sets the rotation log file size to two megabytes:

      • Using Jacl

        $AdminConfig modify $log {{rolloverSize 2}}
        

      • Using Jython

        AdminConfig.modify(log, ['rolloverSize', 2])
        

    • The following example sets the rotation policy to manage itself. It is based on the age of the file with the rollover algorithm loaded at midnight, and the log file rolling over every 12 hours:

      • Using Jacl

        $AdminConfig modify $log {{rolloverType TIME} {rolloverPeriod 12} {baseHour 24}}
        

      • Using Jython

        AdminConfig.modify(log, [['rolloverType', 'TIME'] ['rolloverPeriod', 12] ['baseHour', 24]])
        

    • The following example sets the log file to roll over based on both time and size:

      • Using Jacl

        $AdminConfig modify $log {{rolloverType BOTH} {rolloverSize 2} {rolloverPeriod 12} {baseHour 24}}
        $AdminConfig save
        

      • Using Jython

        AdminConfig.modify(log, [['rolloverType', 'BOTH'] ['rolloverSize', 2] ['rolloverPeriod', 12] ['baseHour', 24]])
        

  6. In a network deployment environment only, synchronize the node.


 

See Also


AdminConfig object for scripted administration

 

See Also


Commands for the AdminConfig object