You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Scope

  • By default JS7 components are configured to use log level INFO to limit disk space consumption.
  • Higher log levels such as DEBUG and TRACE can be used to troubleshoot unexplained behavior.

Log Levels

Log levels can be modified in Log4j2 configuration files, see JS7 - Log Files and Locations.

Changes to the Log4j2 configuration are applied within 60s and do not require the JS7 component to be restarted.

Controller and Agent Log4J2 Configuration

Controller, Agent log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN" shutdownHook="disable">
    <Properties>
		<Property name="TimeZone">${env:SCHEDULER_TZ:-Etc/UTC}</Property>
		<Property name="LogDir">${env:SCHEDULER_LOGS:-logs}</Property>
		<Property name="LogBasename">${env:SCHEDULER_APPNAME:-controller}</Property>
		
		<Property name="RetainDays">30d</Property>
		<Property name="MaxSizeOfRolledOverFiles">5GB</Property>
		<Property name="MaxSizePerFile">100MB</Property>
		
		<!-- Log level of the Root Logger. -->
		<Property name="RootLogLevel">INFO</Property>
		
		<!-- Configuration for a 2nd debug log file (OFF|DEBUG|TRACE) 
			 If this value is set to DEBUG or TRACE then the above 
			 RootLogLevel has to have the same value.
		-->
		<Property name="LogLevelOfDebugLog">OFF</Property>
		
	</Properties>
        ...
<Configuration>

Explanations:

  • To enable debug mode modify <property name="RootLogLevel">INFO</property> and <property name="LogLevelOfDebugLog">OFF</property> to DEBUG.

JOC Cockpit Log4j2 Configuration

JOC Cockpit log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Properties>
        <Property name="TimeZone">Etc/UTC</Property>
        <Property name="RetainDays">30d</Property>
        <Property name="MaxSizeOfRolledOverFiles">5 GB</Property>
        <Property name="MaxSizePerFile">100 MB</Property>
         
        <!-- Log level of the Root Logger. -->
        <Property name="RootLogLevel">INFO</Property>
        <!-- Configurations for 2nd debug log files (OFF|DEBUG|TRACE)
             If one of these values is set to DEBUG or TRACE then the above
             RootLogLevel has to have the same value.
        -->
        <Property name="JocLogLevel">OFF</Property>
        <Property name="ClusterLogLevel">OFF</Property>
        <Property name="HistoryLogLevel">OFF</Property>
        <Property name="DailyPlanLogLevel">OFF</Property>
        <Property name="CleanupLogLevel">OFF</Property>
        <Property name="AuthLogLevel">OFF</Property>
        <Property name="ConnectionPoolLogLevel">OFF</Property>
    </Properties>
    ...
<Configuration>

Explanations:

  • To enable debug mode modify <property name="RootLogLevel">INFO</property> to DEBUG.
  • Optionally, additional log files can be specified for database operations and authentication steps that receive the sam
    • Modify <Property name="DatabaseLogLevel">off</Property> to DEBUG.
    • Modify <Property name="AuthLogLevel">off</Property> to DEBUG.

Log Rotation Settings

When switching to higher log levels such as DEBUG, TRACE then consider increased disc space consumption.

By default JS7 components are configured to limit disk space consumption and to limit the retention period for log files. Consider instructions from the JS7 - Log Rotation article to adjust settings for the max. log file size and retention period.

Debug Options

Such options are applied for specific areas of interest and are forwarded by use of the JAVA_OPTIONS environment variable.

Applying debug options requires the respective JS7 component to be restarted.

Applying Debug Options to Controller and Agent

The below examples make use of the -Djavax.net.debug=ssl Java option that is used to receive detailed information e.g. about certificate handling. However, any Java options can be forwarded like this.

Windows Operating Systems

For Windows the JAVA_OPTIONS environment variable can be set before running the Controller or Agent start script like this: 

  • Windows example to run the Controller start script with debug options
    @rem Set debug options before running the Controller start script
    set JAVA_OPTIONS="-Djavax.net.debug=ssl"
    .\controller.cmd start
    
    @rem Alternatively set debug options when running the Controller start script
    .\controller.cmd start --java-options="-Djavax.net.debug=ssl"
  • Windows example to run the Agent start script with debug options
    @rem Set debug options before running the Agent start script
    set JAVA_OPTIONS="-Djavax.net.debug=ssl"
    .\agent.cmd start
    
    @rem Alternatively set debug options when running the Agent start script
    .\agent.cmd start --java-options="-Djavax.net.debug=ssl"
  • When operating the Controller or Agent as a Windows Service then from the .\service directory of the installation run
    • for a Controller: sos_jobscheduler_controller_<port>w.exe
    • for an Agent: sos_jobscheduler_agent_<port>w.exe
      • where <port> corresponds to the port that the Controller or Agent has been installed for.
      • Example: C:\Program Files\sos-berlin.com\js7\agent_4445\service\sos_jobscheduler_agent_4445w.exe
    • This brings up a utility that allows to specify Java options:
    • Consider that the Controller or Agent Windows Service has to be restarted to apply changes to Java options.

Unix Operating Systems

For Unix the JAVA_OPTIONS environment variable can be set before running the Controller or Agent start script like this:

  • Unix example to run the Controller start script with debug options
    # Set debug options before running the Controller start script
    export JAVA_OPTIONS="-Djavax.net.debug=ssl"
    ./controller.sh start
    
    # Alternatively set debug options when running the Controller start script
    ./controller.sh start --java-options="-Djavax.net.debug=ssl"
  • Unix example to run the Agent start script with debug options
    # Set debug options before running the Agent start script
    export JAVA_OPTIONS="-Djavax.net.debug=ssl"
    ./agent.sh start
    
    # Alternatively set debug options when running the Agent start script
    ./agent.sh start --java-options="-Djavax.net.debug=ssl"

Applying Debug Options to JOC Cockpit

Windows Operating Systems

For Windows the JAVA_OPTIONS environment variable can be set before running the JOC Cockpit start script like this: 

  • Windows example to run the Controller start script with debug options
    @rem Set debug options before running the Controller start script
    set JAVA_OPTIONS="-Djavax.net.debug=ssl"
    .\jetty.cmd start
  • When operating the JOC Cockpit as a Windows Service then from the .\service directory of the installation run
    • for JOC Cockpit: sos_joc_<port>w.exe
      • where <port> corresponds to the port that the JOC Cockpit has been installed for.
      • Example: C:\Program Files\sos-berlin.com\js7\joc\service\sos_joc_4446w.exe
    • This brings up a utility that allows to specify Java options:
    • Consider that the JOC Cockpit Windows Service has to be restarted to apply changes to Java options.

Unix Operating Systems

For Unix the JAVA_OPTIONS environment variable can be set before running the Jetty start script like this:

  • Unix example to run the Jetty start script with debug options
    # Set debug options before running the Jetty start script
    export JAVA_OPTIONS="-Djavax.net.debug=ssl"
    ./jetty.sh start
  • When running JOC Cockpit as a daemon the following line can be added to the  /etc/default/joc file (requires root permissions):

    Unix example to use /etc/default/joc with debug options
    export JAVA_OPTIONS="-Djavax.net.debug=ssl"

Frequently Used Debug Options

Certificate Management 

  • When configuring certificates for secure HTTPS connections with JOC Cockpit, Controller and Agents then SSL debug options will provide detailed information e.g. about handshaking and use of certificates.
  • Use the Java option: -Djavax.net.debug=ssl




  • No labels