Commit 71f7c070 authored by Pavel Vainerman's avatar Pavel Vainerman

(uniset-codegen): setup logrotate command

parent 9d93506f
......@@ -21,6 +21,9 @@
<xsl:variable name="ARGPREFIX">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'arg-prefix'"/></xsl:call-template>
</xsl:variable>
<xsl:variable name="LOGROTATE">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'logrotate'"/></xsl:call-template>
</xsl:variable>
<xsl:template match="/">
<!-- BEGIN CC-FILE -->
......
......@@ -21,6 +21,9 @@
<xsl:variable name="ARGPREFIX">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'arg-prefix'"/></xsl:call-template>
</xsl:variable>
<xsl:variable name="LOGROTATE">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'logrotate'"/></xsl:call-template>
</xsl:variable>
<xsl:template match="/">
<!-- BEGIN CC-FILE -->
......
......@@ -20,6 +20,9 @@
<xsl:variable name="ARGPREFIX">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'arg-prefix'"/></xsl:call-template>
</xsl:variable>
<xsl:variable name="LOGROTATE">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'logrotate'"/></xsl:call-template>
</xsl:variable>
<!-- Генерирование cc-файла -->
<xsl:template match="/">
......
......@@ -20,6 +20,9 @@
<xsl:variable name="ARGPREFIX">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'arg-prefix'"/></xsl:call-template>
</xsl:variable>
<xsl:variable name="LOGROTATE">
<xsl:call-template name="settings"><xsl:with-param name="varname" select="'logrotate'"/></xsl:call-template>
</xsl:variable>
<!-- Генерирование cc-файла -->
<xsl:template match="/">
......
......@@ -556,7 +556,15 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSysCommand( const SystemMessage*
string fname( log()->getLogFile() );
if( !fname.empty() )
{
<xsl:if test="normalize-space($LOGROTATE)=''">
mylog->logFile(fname.c_str(),false);
</xsl:if>
<xsl:if test="normalize-space($LOGROTATE)='append'">
mylog->logFile(fname.c_str(),false);
</xsl:if>
<xsl:if test="normalize-space($LOGROTATE)='truncate'">
mylog->logFile(fname.c_str(),true);
</xsl:if>
mylogany &lt;&lt; myname &lt;&lt; "(preSysCommand): ***************** mylog LOG ROTATE *****************" &lt;&lt; endl;
}
......
......@@ -14,6 +14,9 @@
<xsl:variable name="OID">
<xsl:call-template name="settings-alone"><xsl:with-param name="varname" select="'ID'"/></xsl:call-template>
</xsl:variable>
<xsl:variable name="LOGROTATE">
<xsl:call-template name="settings-alone"><xsl:with-param name="varname" select="'logrotate'"/></xsl:call-template>
</xsl:variable>
<!-- Генерирование main для UniSet_FSM -->
......
......@@ -18,6 +18,7 @@
<set name="sleep-msec" val="150"/>
<set name="arg-prefix" val="test-"/>
<set name="resetMsgTime" val="300"/>
<set name="logrotate" val="truncate"/>
</settings>
<variables>
<!-- type = [int,str,bool,float]
......
......@@ -76,6 +76,7 @@
<set name="class-name" val="TestGen"/>
<set name="msg-count" val="20"/>
<set name="sleep-msec" val="150"/>
<set name="logrotate" val="append"/>
</settings>
<variables>
<!-- type = [int,str,bool,float]
......@@ -285,6 +286,17 @@
А также такой процесс потребляет больше процессорного времени, т.к. постоянно опрашивает "входы" независимо от того, меняли ли они
своё состояние.
\section pg_Codegen_Logrotate Настройка ротации логов
В разделе '<settings>' можно задавать параметр \b logrotate=[truncate|append]. Он определяет как будет обработана
команда SystemMessage::Logrotate, по которой происходит переоткрытие логфайла (если включено ведение логфайла).
- \b truncate - при переоткрытии "обрезать" файл
- \b append - при переоткрытии продолжить писать логи в конец файла
Режим \b append используется по умолчанию. Он удобен для использования совместно с внешней системой ротации логов,
например logrotate. Которая после проведения ротации может обрезать файл и посылать ВСЕМ процессам команду LogRotate по которой
файл логов будет переоткрыт, если он был заархивирован. При этом те процессы чей файл не был заархивирован, продолжат
писать дальше в конец логфайла.
\section pg_Codegen_Templ_Alone Шаблон 'Alone'
Шаблон \b "Alone" предназначен для генерирования \b без \b использования специального xml-файла с описанием переменных.
Генерирование происходит непосредственно по конфигурационному файлу проекта. Для этого всё-равно необходимо создать
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment