﻿<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="scheduler_job_documentation.xsl"?>
<description xmlns="http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0 http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0.xsd">

  <job name  = "JobSchedulerRotateLog" 
       title = "Rotate and compress log files" 
       order = "no" 
       tasks = "1">
    <script language   = "java" 
            java_class = "sos.scheduler.job.JobSchedulerRotateLog" 
            resource   = "1">
    </script>
  </job>

  <releases>
    <release id="1.0" created="2006-02-20" modified="2006-02-21">
      <title>Version 1.0</title>
      <author name="Andreas Püschel" email="andreas.pueschel@sos-berlin.com"/>
      <note language="de">Initiale Auslieferung</note>
      <note language="en">Initial release</note>
    </release>
  </releases>
  
  <resources>
    <file os="all" type="java" file="sos.scheduler.jar" id="1">
      <note language="de">Standard-Job der Auslieferung</note>
      <note language="en">Standard job in distribution</note>
    </file>
    <file os="all" type="java" file="sos.spooler.jar" id="2">
      <note language="de">Klasse Job_Impl</note>
      <note language="en">Class Job_Impl</note>
    </file>
    <file os="all" type="java" file="sos.util.jar" id="3">
      <note language="de">Klassen SOSFile, SOSGZip</note>
      <note language="en">Classes SOSFile, SOSGZip</note>
    </file>
    <file os="all" type="java" file="sos.settings.jar" id="4">
      <note language="de">Klasse SOSProfileSettings</note>
      <note language="en">Class SOSProfileSettings</note>
    </file>
  </resources>
  
  <configuration>
    <params id="job_parameter">
      <param name="file_path" default_value="./logs" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter benennt ein Verzeichnis mit Protokolldateien des Job Schedulers. 
            Fehlt der Parameter, dann wird automatisch das aktuelle Protokollverzeichnis des Job Schedulers verwendet.
         </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies a directory for the Job Scheduler log files.
            If this parameter is not specified, then the current log directory of the Job Scheduler will be used.
          </div>
        </note>
      </param>
      <param name="file_specification" default_value="^(scheduler)([0-9\\-]+)" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter spezifiziert einen regulären Ausdruck für die Protokolldateien des Job Schedulers.
            Die Namen der Protokolldateien haben den Aufbau <code>scheduler_yyyy-mm-dd-hhmmss.&lt;scheduler_id&gt;.log</code>.
            Die &lt;scheduler_id&gt; ist die Kennung des Job Schedulers, die in der XML Konfigurationsdatei angegeben wurde.
            Sie können den regulären Ausdruck der Voreinstellung überschreiben, um bspw. nur
            Protokolldateien eines bestimmten Job Schedulers zu rotieren, wenn mehrere Job Scheduler Protokolle in 
            das selbe Verzeichnis schreiben. 
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies a regular expression for the log files of the Job Scheduler.
            Changing the default value of this regular expression allows, for example, 
            the log files for a specific Job Scheduler to be rotated,
            should multiple Job Schedulers be logging into the same directory.
            Note that log files are named according to the pattern 
            <code>scheduler_yyyy-mm-dd-hhmmss.&lt;scheduler_id&gt;.log</code>,
            where &lt;scheduler_id&gt; is an identifier defined in the Job Scheduler XML configuration file.
          </div>
        </note>
      </param>
      <param name="file_age" default_value="14" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt das Mindestalter der Protokolldateien die komprimiert werden. 
            Es ist meist vorteilhaft, die letzten Protokolldateien unkomprimiert vorzuhalten.
            Sie bestimmen mit diesem Parameter die Anzahl Tage, für die zurückliegende Protkolldateien nicht komprimiert werden.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the minimum age of compressed log files.
            Usually it is advantageous when the latest log files remain uncompressed - .
            this parameter is used to specify the number of days for which log files will remain uncompressed.
          </div>
        </note>
      </param>
    </params>
  </configuration>

  <documentation language="de">
    <div xmlns="http://www.w3.org/1999/xhtml">
      Aus folgenden Gründen kann das Rotieren von Protokolldateien sinnvoll sein:
      <br/><br/>
      <ul>
        <li>
          Wenn Sie höhere Log Level in Ihrer 
          Konfigurationsdatei <code>factory.ini</code> eingestellt haben,
          können Protokolldateien erheblich wachsen.
        </li>
        <li>
          Um ein klares Benennungschema einzuführen, bei dem für jeden Tag eine separate Protokolldatei verwendet wird.
        </li>
     </ul>
     Rotieren von Protokolldateien beinhaltet, dass der Job Scheduler eine neue Protokolldatei erzeugt
     und ältere Protokolldateien mit gzip komprimiert werden.
    </div>
  </documentation>

  <documentation language="en">
    <div xmlns="http://www.w3.org/1999/xhtml">
      Log files can be rotated for the following reasons:
      <br/><br/>
      <ul>
        <li>
          To avoid excessively large log files for the Job Scheduler when using high log levels in
          the <code>factory.ini</code> configuration file.
        </li>
        <li>
          To have a clear naming schema that specifies one distinct log filename per day.
        </li>
     </ul>
     Log rotation means that the Job Scheduler creates a new log file and 
     that log files which are older than a set age are compressed with GZIP.
    </div>
  </documentation>
</description>
