Commit 4943179f authored by Pavel Vainerman's avatar Pavel Vainerman

Добавил "синтаксический сахар" для логов (ucrit,uwarn,uinfo, и т.п.)

parent 81f5bf10
...@@ -446,9 +446,9 @@ int omap() ...@@ -446,9 +446,9 @@ int omap()
conf->oind->printMap(cout); conf->oind->printMap(cout);
cout << "==========================================================================\n"; cout << "==========================================================================\n";
} }
catch(Exception& ex) catch( Exception& ex )
{ {
ulog.crit() << " configuration init FAILED!!! \n"; ucrit << " configuration init failed: " << ex << endl;
return 1; return 1;
} }
return 0; return 0;
......
...@@ -381,7 +381,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer ...@@ -381,7 +381,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer
int fd = open(fname.c_str(), O_RDONLY | O_NONBLOCK ); int fd = open(fname.c_str(), O_RDONLY | O_NONBLOCK );
if( fd <= 0 ) if( fd <= 0 )
{ {
dlog.warn() << "(fileTransfer): open '" << fname << "' with error: " << strerror(errno) << endl; dwarn << "(fileTransfer): open '" << fname << "' with error: " << strerror(errno) << endl;
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
...@@ -393,7 +393,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer ...@@ -393,7 +393,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer
int ret = ::read(fd,&buf,sizeof(buf)); int ret = ::read(fd,&buf,sizeof(buf));
if( ret < 0 ) if( ret < 0 )
{ {
dlog.warn() << "(fileTransfer): read from '" << fname << "' with error: " << strerror(errno) << endl; dwarn << "(fileTransfer): read from '" << fname << "' with error: " << strerror(errno) << endl;
close(fd); close(fd);
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
...@@ -407,7 +407,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer ...@@ -407,7 +407,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer
struct stat fs; struct stat fs;
if( fstat(fd,&fs) < 0 ) if( fstat(fd,&fs) < 0 )
{ {
dlog.warn() << "(fileTransfer): fstat for '" << fname << "' with error: " << strerror(errno) << endl; dwarn << "(fileTransfer): fstat for '" << fname << "' with error: " << strerror(errno) << endl;
close(fd); close(fd);
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
...@@ -422,7 +422,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer ...@@ -422,7 +422,7 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer
if( !reply.set(query.numfile,numpacks,query.numpacket,buf,ret) ) if( !reply.set(query.numfile,numpacks,query.numpacket,buf,ret) )
{ {
dlog.warn() << "(fileTransfer): set date failed..." << endl; dwarn << "(fileTransfer): set date failed..." << endl;
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
......
...@@ -376,7 +376,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage& ...@@ -376,7 +376,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage&
int fd = open(fname.c_str(), O_RDONLY | O_NONBLOCK ); int fd = open(fname.c_str(), O_RDONLY | O_NONBLOCK );
if( fd <= 0 ) if( fd <= 0 )
{ {
dlog.warn() << "(fileTransfer): open '" << fname << "' with error: " << strerror(errno) << endl; dwarn << "(fileTransfer): open '" << fname << "' with error: " << strerror(errno) << endl;
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
...@@ -388,7 +388,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage& ...@@ -388,7 +388,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage&
int ret = ::read(fd,&buf,sizeof(buf)); int ret = ::read(fd,&buf,sizeof(buf));
if( ret < 0 ) if( ret < 0 )
{ {
dlog.warn() << "(fileTransfer): read from '" << fname << "' with error: " << strerror(errno) << endl; dwarn << "(fileTransfer): read from '" << fname << "' with error: " << strerror(errno) << endl;
close(fd); close(fd);
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
...@@ -402,7 +402,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage& ...@@ -402,7 +402,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage&
struct stat fs; struct stat fs;
if( fstat(fd,&fs) < 0 ) if( fstat(fd,&fs) < 0 )
{ {
dlog.warn() << "(fileTransfer): fstat for '" << fname << "' with error: " << strerror(errno) << endl; dwarn << "(fileTransfer): fstat for '" << fname << "' with error: " << strerror(errno) << endl;
close(fd); close(fd);
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
...@@ -417,7 +417,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage& ...@@ -417,7 +417,7 @@ ModbusRTU::mbErrCode MBTCPServer::fileTransfer( ModbusRTU::FileTransferMessage&
if( !reply.set(query.numfile,numpacks,query.numpacket,buf,ret) ) if( !reply.set(query.numfile,numpacks,query.numpacket,buf,ret) )
{ {
dlog.warn() << "(fileTransfer): set date failed..." << endl; dwarn << "(fileTransfer): set date failed..." << endl;
return ModbusRTU::erOperationFailed; return ModbusRTU::erOperationFailed;
} }
......
...@@ -89,19 +89,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback() ...@@ -89,19 +89,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
} }
catch(CORBA::SystemException&amp; ex) catch(CORBA::SystemException&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
&lt;&lt; ex.NP_minorString() &lt;&lt; endl; &lt;&lt; ex.NP_minorString() &lt;&lt; endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
} }
if( !active ) if( !active )
...@@ -124,7 +121,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM ...@@ -124,7 +121,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM
if( _sm->id == <xsl:value-of select="../../@name"/> ) if( _sm->id == <xsl:value-of select="../../@name"/> )
{ {
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value;
dlog.level( Debug::type(_sm->value) ); mylog.level( Debug::type(_sm->value) );
} }
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
...@@ -146,8 +143,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -146,8 +143,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
break; break;
} }
if( !activated &amp;&amp; ulog.is_crit() ) if( !activated )
ulog.crit() &lt;&lt; myname ucrit &lt;&lt; myname
&lt;&lt; "(preAskSensors): ************* don`t activated?! ************" &lt;&lt; endl; &lt;&lt; "(preAskSensors): ************* don`t activated?! ************" &lt;&lt; endl;
for( ;; ) for( ;; )
...@@ -165,18 +162,15 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -165,18 +162,15 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
} }
catch(SystemError&amp; err) catch(SystemError&amp; err)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; err &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; err &lt;&lt; endl;
} }
catch(Exception&amp; ex) catch(Exception&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; ex &lt;&lt; endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(preAskSensors): catch(...)" &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(preAskSensors): catch(...)" &lt;&lt; endl;
} }
msleep(askPause); msleep(askPause);
} }
...@@ -191,8 +185,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si ...@@ -191,8 +185,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si
<xsl:if test="normalize-space(@vartype)='out'"> <xsl:if test="normalize-space(@vartype)='out'">
if( _sid == <xsl:value-of select="../../@name"/> ) if( _sid == <xsl:value-of select="../../@name"/> )
{ {
if( ulog.is_level2() ) ulog2 &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = " &lt;&lt; _val &lt;&lt; endl;
ulog.level2() &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = " &lt;&lt; _val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _val; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _val;
<xsl:call-template name="setdata"/> <xsl:call-template name="setdata"/>
return; return;
...@@ -224,16 +217,14 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si ...@@ -224,16 +217,14 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
ulog.crit() &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
&lt;&lt; _sid &lt;&lt; endl; &lt;&lt; _sid &lt;&lt; endl;
return 0; return 0;
} }
catch(Exception&amp; ex) catch(Exception&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getValue): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(getValue): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
} }
...@@ -299,8 +290,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -299,8 +290,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch(Exception&amp; ex) catch(Exception&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
...@@ -335,8 +325,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -335,8 +325,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch(Exception&amp; ex) catch(Exception&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
...@@ -351,8 +340,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -351,8 +340,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch(Exception&amp; ex) catch(Exception&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
......
...@@ -94,19 +94,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback() ...@@ -94,19 +94,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
} }
catch(CORBA::SystemException&amp; ex) catch(CORBA::SystemException&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
&lt;&lt; ex.NP_minorString() &lt;&lt; endl; &lt;&lt; ex.NP_minorString() &lt;&lt; endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
} }
if( !active ) if( !active )
...@@ -157,8 +154,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si ...@@ -157,8 +154,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si
<xsl:if test="normalize-space(@vartype)='out'"> <xsl:if test="normalize-space(@vartype)='out'">
if( _sid == <xsl:value-of select="../../@name"/> ) if( _sid == <xsl:value-of select="../../@name"/> )
{ {
if( ulog.is_level2() ) ulog2 &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = " &lt;&lt; _val &lt;&lt; endl;
ulog.level2() &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = " &lt;&lt; _val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _val; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _val;
return; return;
} }
...@@ -180,8 +176,7 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si ...@@ -180,8 +176,7 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
ulog.crit() &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
&lt;&lt; _sid &lt;&lt; endl; &lt;&lt; _sid &lt;&lt; endl;
return 0; return 0;
...@@ -232,8 +227,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -232,8 +227,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
...@@ -268,8 +262,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -268,8 +262,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
...@@ -284,8 +277,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -284,8 +277,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
......
...@@ -88,19 +88,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback() ...@@ -88,19 +88,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
} }
catch(CORBA::SystemException&amp; ex) catch(CORBA::SystemException&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
&lt;&lt; ex.NP_minorString() &lt;&lt; endl; &lt;&lt; ex.NP_minorString() &lt;&lt; endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
} }
if( !active ) if( !active )
...@@ -116,8 +113,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si ...@@ -116,8 +113,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si
<xsl:if test="normalize-space(@vartype)='out'"> <xsl:if test="normalize-space(@vartype)='out'">
if( _sid == <xsl:value-of select="@name"/> ) if( _sid == <xsl:value-of select="@name"/> )
{ {
if( ulog.is_level2() ) ulog2 &lt;&lt; "(setState): <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = " &lt;&lt; _val &lt;&lt; endl;
ulog.level2() &lt;&lt; "(setState): <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = " &lt;&lt; _val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _val; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _val;
<xsl:call-template name="setdata"/> <xsl:call-template name="setdata"/>
return; return;
...@@ -163,7 +159,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM ...@@ -163,7 +159,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM
if( _sm->id == <xsl:value-of select="@name"/> ) if( _sm->id == <xsl:value-of select="@name"/> )
{ {
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value;
dlog.level( Debug::type(_sm->value) ); mylog.level( Debug::type(_sm->value) );
} }
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
...@@ -188,14 +184,12 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si ...@@ -188,14 +184,12 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si
return <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>; return <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>;
} }
</xsl:for-each> </xsl:for-each>
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
ulog.crit() &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
&lt;&lt; _sid &lt;&lt; endl; &lt;&lt; _sid &lt;&lt; endl;
} }
catch(Exception&amp; ex) catch(Exception&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getValue): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(getValue): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
...@@ -214,8 +208,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -214,8 +208,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
break; break;
} }
if( !activated &amp;&amp; ulog.is_crit() ) if( !activated )
ulog.crit() &lt;&lt; myname ucrit &lt;&lt; myname
&lt;&lt; "(preAskSensors): ************* don`t activated?! ************" &lt;&lt; endl; &lt;&lt; "(preAskSensors): ************* don`t activated?! ************" &lt;&lt; endl;
for( ;; ) for( ;; )
...@@ -232,18 +226,15 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -232,18 +226,15 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
} }
catch(SystemError&amp; err) catch(SystemError&amp; err)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; err &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; err &lt;&lt; endl;
} }
catch(Exception&amp; ex) catch(Exception&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(preAskSensors): " &lt;&lt; ex &lt;&lt; endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(preAskSensors): catch(...)" &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(preAskSensors): catch(...)" &lt;&lt; endl;
} }
msleep(askPause); msleep(askPause);
} }
...@@ -275,8 +266,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -275,8 +266,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch( UniSetTypes::Exception&amp; ex ) catch( UniSetTypes::Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
} }
...@@ -293,8 +283,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -293,8 +283,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch( UniSetTypes::Exception&amp; ex ) catch( UniSetTypes::Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
} }
...@@ -312,8 +301,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -312,8 +301,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
} }
catch( UniSetTypes::Exception&amp; ex ) catch( UniSetTypes::Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
} }
......
...@@ -93,19 +93,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback() ...@@ -93,19 +93,16 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): " &lt;&lt; ex &lt;&lt; endl;
} }
catch(CORBA::SystemException&amp; ex) catch(CORBA::SystemException&amp; ex)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): СORBA::SystemException: "
&lt;&lt; ex.NP_minorString() &lt;&lt; endl; &lt;&lt; ex.NP_minorString() &lt;&lt; endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(execute): catch ..." &lt;&lt; endl;
} }
if( !active ) if( !active )
...@@ -121,8 +118,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId sid ...@@ -121,8 +118,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId sid
<xsl:if test="normalize-space(@vartype)='out'"> <xsl:if test="normalize-space(@vartype)='out'">
if( sid == <xsl:value-of select="@name"/> ) if( sid == <xsl:value-of select="@name"/> )
{ {
if( ulog.is_level2() ) ulog2 &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = " &lt;&lt; val &lt;&lt; endl;
ulog.level2() &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = " &lt;&lt; val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = val; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = val;
return; return;
} }
...@@ -178,8 +174,7 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si ...@@ -178,8 +174,7 @@ long <xsl:value-of select="$CLASSNAME"/>_SK::getValue( UniSetTypes::ObjectId _si
return <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>; return <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>;
</xsl:for-each> </xsl:for-each>
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
ulog.crit() &lt;&lt; myname &lt;&lt; "(getValue): Обращение к неизвестному датчику sid="
&lt;&lt; _sid &lt;&lt; endl; &lt;&lt; _sid &lt;&lt; endl;
return 0; return 0;
} }
...@@ -214,8 +209,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -214,8 +209,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(getdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
...@@ -232,8 +226,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -232,8 +226,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
...@@ -251,8 +244,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -251,8 +244,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setdata): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
...@@ -269,8 +261,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -269,8 +261,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
} }
catch( Exception&amp; ex ) catch( Exception&amp; ex )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; myname &lt;&lt; "(setmsg): " &lt;&lt; ex &lt;&lt; endl;
ulog.crit() &lt;&lt; myname &lt;&lt; "(setmsg): " &lt;&lt; ex &lt;&lt; endl;
throw; throw;
} }
</xsl:template> </xsl:template>
......
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
</xsl:when> </xsl:when>
<xsl:when test="$GENTYPE='CHECK'"> <xsl:when test="$GENTYPE='CHECK'">
<xsl:if test="normalize-space(@no_check_id)!='1'"> <xsl:if test="normalize-space(@no_check_id)!='1'">
<xsl:if test="normalize-space(../../@id)=''">if( ulog.is_warn() ) ulog.warn() &lt;&lt; myname &lt;&lt; ": Not found (Message)OID for mid_<xsl:value-of select="normalize-space(../../@name)"/>" &lt;&lt; endl; <xsl:if test="normalize-space(../../@id)=''">uwarn &lt;&lt; myname &lt;&lt; ": Not found (Message)OID for mid_<xsl:value-of select="normalize-space(../../@name)"/>" &lt;&lt; endl;
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
</xsl:when> </xsl:when>
...@@ -101,8 +101,7 @@ ...@@ -101,8 +101,7 @@
<xsl:when test="$GENTYPE='A'"> <xsl:when test="$GENTYPE='A'">
if( _code == mid_<xsl:value-of select="../../@name"/> ) if( _code == mid_<xsl:value-of select="../../@name"/> )
{ {
if( ulog.is_level8() ) ulog8 &lt;&lt; "<xsl:value-of select="../../@name"/>" &lt;&lt; endl;
ulog.level8() &lt;&lt; "<xsl:value-of select="../../@name"/>" &lt;&lt; endl;
m_<xsl:value-of select="../../@name"/> = _state; m_<xsl:value-of select="../../@name"/> = _state;
try try
{ {
...@@ -126,8 +125,7 @@ ...@@ -126,8 +125,7 @@
} }
catch( UniSetTypes::Exception&amp; ex ) catch( UniSetTypes::Exception&amp; ex )
{ {
if( ulog.is_level1() ) ulog1 &lt;&lt; getName() &lt;&lt; ex &lt;&lt; endl;
ulog.level1() &lt;&lt; getName() &lt;&lt; ex &lt;&lt; endl;
} }
} }
</xsl:when> </xsl:when>
...@@ -165,8 +163,22 @@ ...@@ -165,8 +163,22 @@
void updateValues(); void updateValues();
void setMsg( UniSetTypes::ObjectId code, bool state ); void setMsg( UniSetTypes::ObjectId code, bool state );
DebugStream dlog; DebugStream mylog;
void init_dlog(DebugStream&amp; dlog); void init_dlog( DebugStream&amp; d );
// "синтаксический сахар"..для логов
#define myinfo if( mylog.debugging(Debug::INFO) ) mylog
#define mywarn if( mylog.debugging(Debug::WARN) ) mylog
#define mycrit if( mylog.debugging(Debug::CRIT) ) mylog
#define mylog1 if( mylog.debugging(Debug::LEVEL1) ) mylog
#define mylog2 if( mylog.debugging(Debug::LEVEL2) ) mylog
#define mylog3 if( mylog.debugging(Debug::LEVEL3) ) mylog
#define mylog4 if( mylog.debugging(Debug::LEVEL4) ) mylog
#define mylog5 if( mylog.debugging(Debug::LEVEL5) ) mylog
#define mylog6 if( mylog.debugging(Debug::LEVEL6) ) mylog
#define mylog7 if( mylog.debugging(Debug::LEVEL7) ) mylog
#define mylog8 if( mylog.debugging(Debug::LEVEL8) ) mylog
#define mylog9 if( mylog.debugging(Debug::LEVEL9) ) mylog
</xsl:template> </xsl:template>
<xsl:template name="COMMON-HEAD-PROTECTED"> <xsl:template name="COMMON-HEAD-PROTECTED">
...@@ -238,7 +250,7 @@ ...@@ -238,7 +250,7 @@
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void <xsl:value-of select="$CLASSNAME"/>_SK::init_dlog( DebugStream&amp; d ) void <xsl:value-of select="$CLASSNAME"/>_SK::init_dlog( DebugStream&amp; d )
{ {
<xsl:value-of select="$CLASSNAME"/>_SK::dlog = d; <xsl:value-of select="$CLASSNAME"/>_SK::mylog = d;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void <xsl:value-of select="$CLASSNAME"/>_SK::processingMessage( UniSetTypes::VoidMessage* _msg ) void <xsl:value-of select="$CLASSNAME"/>_SK::processingMessage( UniSetTypes::VoidMessage* _msg )
...@@ -272,9 +284,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::processingMessage( UniSetTypes::Voi ...@@ -272,9 +284,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::processingMessage( UniSetTypes::Voi
break; break;
} }
} }
catch(Exception&amp; ex) catch( Exception&amp; ex )
{ {
cout &lt;&lt; myname &lt;&lt; "(processingMessage): " &lt;&lt; ex &lt;&lt; endl; ucrit &lt;&lt; myname &lt;&lt; "(processingMessage): " &lt;&lt; ex &lt;&lt; endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -286,8 +298,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::sysCommand( SystemMessage* _sm ) ...@@ -286,8 +298,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::sysCommand( SystemMessage* _sm )
ulog &lt;&lt; myname &lt;&lt; "(sysCommand): WatchDog" &lt;&lt; endl; ulog &lt;&lt; myname &lt;&lt; "(sysCommand): WatchDog" &lt;&lt; endl;
if( !active || !ptStartUpTimeout.checkTime() ) if( !active || !ptStartUpTimeout.checkTime() )
{ {
if( ulog.is_warn() ) uwarn &lt;&lt; myname &lt;&lt; "(sysCommand): игнорируем WatchDog, потому-что только-что стартанули" &lt;&lt; endl;
ulog.warn() &lt;&lt; myname &lt;&lt; "(sysCommand): игнорируем WatchDog, потому-что только-что стартанули" &lt;&lt; endl;
break; break;
} }
case SystemMessage::StartUp: case SystemMessage::StartUp:
...@@ -313,12 +324,12 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::sysCommand( SystemMessage* _sm ) ...@@ -313,12 +324,12 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::sysCommand( SystemMessage* _sm )
case SystemMessage::LogRotate: case SystemMessage::LogRotate:
{ {
// переоткрываем логи // переоткрываем логи
ulog &lt;&lt; myname &lt;&lt; "(sysCommand): logRotate" &lt;&lt; endl; mylog &lt;&lt; myname &lt;&lt; "(sysCommand): logRotate" &lt;&lt; endl;
string fname( ulog.getLogFile() ); string fname( mylog.getLogFile() );
if( !fname.empty() ) if( !fname.empty() )
{ {
ulog.logFile(fname.c_str()); mylog.logFile(fname.c_str());
ulog &lt;&lt; myname &lt;&lt; "(sysCommand): ***************** ulog LOG ROTATE *****************" &lt;&lt; endl; mylog &lt;&lt; myname &lt;&lt; "(sysCommand): ***************** mylog LOG ROTATE *****************" &lt;&lt; endl;
} }
} }
break; break;
...@@ -375,12 +386,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId _te ...@@ -375,12 +386,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId _te
if( _testID == DefaultObjectId ) if( _testID == DefaultObjectId )
return; return;
if( ulog.is_info() ) uinfo &lt;&lt; myname &lt;&lt; "(waitSM): waiting SM ready "
{
ulog.info() &lt;&lt; myname &lt;&lt; "(waitSM): waiting SM ready "
&lt;&lt; wait_msec &lt;&lt; " msec" &lt;&lt; wait_msec &lt;&lt; " msec"
&lt;&lt; " testID=" &lt;&lt; _testID &lt;&lt; endl; &lt;&lt; " testID=" &lt;&lt; _testID &lt;&lt; endl;
}
if( !ui.waitReady(_testID,wait_msec) ) if( !ui.waitReady(_testID,wait_msec) )
{ {
...@@ -389,8 +397,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId _te ...@@ -389,8 +397,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId _te
&lt;&lt; "(waitSM): Не дождались готовности(exist) SharedMemory к работе в течение " &lt;&lt; "(waitSM): Не дождались готовности(exist) SharedMemory к работе в течение "
&lt;&lt; wait_msec &lt;&lt; " мсек"; &lt;&lt; wait_msec &lt;&lt; " мсек";
if( ulog.is_crit() ) ucrit &lt;&lt; err.str() &lt;&lt; endl;
ulog.crit() &lt;&lt; err.str() &lt;&lt; endl;
terminate(); terminate();
abort(); abort();
// kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс... // kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
...@@ -407,8 +414,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId _te ...@@ -407,8 +414,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId _te
&lt;&lt; "(waitSM): Не дождались готовности(work) SharedMemory к работе в течение " &lt;&lt; "(waitSM): Не дождались готовности(work) SharedMemory к работе в течение "
&lt;&lt; wait_msec &lt;&lt; " мсек"; &lt;&lt; wait_msec &lt;&lt; " мсек";
if( ulog.is_crit() ) ucrit &lt;&lt; err.str() &lt;&lt; endl;
ulog.crit() &lt;&lt; err.str() &lt;&lt; endl;
terminate(); terminate();
abort(); abort();
// kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс... // kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
...@@ -534,7 +540,7 @@ askPause(2000), ...@@ -534,7 +540,7 @@ askPause(2000),
</xsl:for-each> </xsl:for-each>
end_private(false) end_private(false)
{ {
ulog.crit() &lt;&lt; "<xsl:value-of select="$CLASSNAME"/>: init failed!!!!!!!!!!!!!!!" &lt;&lt; endl; ucrit &lt;&lt; "<xsl:value-of select="$CLASSNAME"/>: init failed!!!!!!!!!!!!!!!" &lt;&lt; endl;
throw Exception( string(myname+": init failed!!!") ); throw Exception( string(myname+": init failed!!!") );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -710,16 +716,14 @@ end_private(false) ...@@ -710,16 +716,14 @@ end_private(false)
<xsl:if test="normalize-space(@min)!=''"> <xsl:if test="normalize-space(@min)!=''">
if( <xsl:value-of select="@name"/> &lt; <xsl:value-of select="@min"/> ) if( <xsl:value-of select="@name"/> &lt; <xsl:value-of select="@min"/> )
{ {
if( ulog.is_warn() ) uwarn &lt;&lt; myname &lt;&lt; ": RANGE WARNING: <xsl:value-of select="@name"/>=" &lt;&lt; <xsl:value-of select="@name"/> &lt;&lt; " &lt; <xsl:value-of select="@min"/>" &lt;&lt; endl;
ulog.warn() &lt;&lt; myname &lt;&lt; ": RANGE WARNING: <xsl:value-of select="@name"/>=" &lt;&lt; <xsl:value-of select="@name"/> &lt;&lt; " &lt; <xsl:value-of select="@min"/>" &lt;&lt; endl;
<xsl:if test="normalize-space(@no_range_exception)=''">throw UniSetTypes::SystemError(myname+"(init): <xsl:value-of select="@name"/> &lt; <xsl:value-of select="@min"/>");</xsl:if> <xsl:if test="normalize-space(@no_range_exception)=''">throw UniSetTypes::SystemError(myname+"(init): <xsl:value-of select="@name"/> &lt; <xsl:value-of select="@min"/>");</xsl:if>
} }
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@max)!=''"> <xsl:if test="normalize-space(@max)!=''">
if( <xsl:value-of select="@name"/> &gt; <xsl:value-of select="@max"/> ) if( <xsl:value-of select="@name"/> &gt; <xsl:value-of select="@max"/> )
{ {
if( ulog.is_warn() ) uwarn &lt;&lt; myname &lt;&lt; ": RANGE WARNING: <xsl:value-of select="@name"/>=" &lt;&lt; <xsl:value-of select="@name"/> &lt;&lt; " &gt; <xsl:value-of select="@max"/>" &lt;&lt; endl;
ulog.warn() &lt;&lt; myname &lt;&lt; ": RANGE WARNING: <xsl:value-of select="@name"/>=" &lt;&lt; <xsl:value-of select="@name"/> &lt;&lt; " &gt; <xsl:value-of select="@max"/>" &lt;&lt; endl;
<xsl:if test="normalize-space(@no_range_exception)=''">throw UniSetTypes::SystemError(myname+"(init): <xsl:value-of select="@name"/> &gt; <xsl:value-of select="@max"/>");</xsl:if> <xsl:if test="normalize-space(@no_range_exception)=''">throw UniSetTypes::SystemError(myname+"(init): <xsl:value-of select="@name"/> &gt; <xsl:value-of select="@max"/>");</xsl:if>
} }
</xsl:if> </xsl:if>
...@@ -777,29 +781,18 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code, ...@@ -777,29 +781,18 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code,
{ {
if( _code == UniSetTypes::DefaultObjectId ) if( _code == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; getName()
ulog.crit() &lt;&lt; getName()
&lt;&lt; "(alarm): попытка послать сообщение с DefaultObjectId" &lt;&lt; "(alarm): попытка послать сообщение с DefaultObjectId"
&lt;&lt; endl; &lt;&lt; endl;
return false; return false;
} }
if( ulog.is_level1() ) ulog1 &lt;&lt; getName() &lt;&lt; "(alarm): " &lt;&lt; ( _state ? "SEND " : "RESET " ) &lt;&lt; endl;
{
ulog.level1() &lt;&lt; getName() &lt;&lt; "(alarm): ";
if( _state )
ulog.level1(false) &lt;&lt; "SEND ";
else
ulog.level1(false) &lt;&lt; "RESET ";
ulog.level1(false) &lt;&lt; endl;
}
<xsl:for-each select="//msgmap/item"> <xsl:for-each select="//msgmap/item">
if( _code == <xsl:value-of select="@name"/> ) if( _code == <xsl:value-of select="@name"/> )
{ {
if( ulog.is_level1() ) ulog1 &lt;&lt; "<xsl:value-of select="@name"/>" &lt;&lt; endl;
ulog.level1() &lt;&lt; "<xsl:value-of select="@name"/>" &lt;&lt; endl;
try try
{ {
m_<xsl:value-of select="@name"/> = _state; m_<xsl:value-of select="@name"/> = _state;
...@@ -814,8 +807,7 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code, ...@@ -814,8 +807,7 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code,
} }
</xsl:for-each> </xsl:for-each>
if( ulog.is_level1() ) ulog1 &lt;&lt; " not found MessgeOID?!!" &lt;&lt; endl;
ulog.level1() &lt;&lt; " not found MessgeOID?!!" &lt;&lt; endl;
return false; return false;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -834,8 +826,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::resetMsg() ...@@ -834,8 +826,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::resetMsg()
} }
catch( UniSetTypes::Exception&amp; ex ) catch( UniSetTypes::Exception&amp; ex )
{ {
if( ulog.is_level1() ) ulog1 &lt;&lt; getName() &lt;&lt; ex &lt;&lt; endl;
ulog.level1() &lt;&lt; getName() &lt;&lt; ex &lt;&lt; endl;
} }
} }
</xsl:for-each> </xsl:for-each>
...@@ -893,7 +884,7 @@ confnode(0), ...@@ -893,7 +884,7 @@ confnode(0),
activated(false), activated(false),
askPause(2000) askPause(2000)
{ {
ulog.crit() &lt;&lt; "<xsl:value-of select="$CLASSNAME"/>: init failed!!!!!!!!!!!!!!!" &lt;&lt; endl; ucrit &lt;&lt; "<xsl:value-of select="$CLASSNAME"/>: init failed!!!!!!!!!!!!!!!" &lt;&lt; endl;
throw Exception( string(myname+": init failed!!!") ); throw Exception( string(myname+": init failed!!!") );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -1055,22 +1046,13 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code, ...@@ -1055,22 +1046,13 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code,
{ {
if( _code == UniSetTypes::DefaultObjectId ) if( _code == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit &lt;&lt; getName()
ulog.crit() &lt;&lt; getName()
&lt;&lt; "(alarm): попытка послать сообщение с DefaultObjectId" &lt;&lt; "(alarm): попытка послать сообщение с DefaultObjectId"
&lt;&lt; endl; &lt;&lt; endl;
return false; return false;
} }
if( ulog.is_level1() ) ulog1 &lt;&lt; getName() &lt;&lt; "(alarm): (" &lt;&lt; _code &lt;&lt; ")" &lt;&lt; ( _state ? "SEND" : "RESET" ) &lt;&lt; endl;
{
ulog.level1() &lt;&lt; getName() &lt;&lt; "(alarm): ";
if( _state )
ulog.level1(false) &lt;&lt; "SEND (" &lt;&lt; _code &lt;&lt; ")";
else
ulog.level1(false) &lt;&lt; "RESET (" &lt;&lt; _code &lt;&lt; ")";
}
<xsl:for-each select="//sensors/item"> <xsl:for-each select="//sensors/item">
<xsl:call-template name="setmsg"> <xsl:call-template name="setmsg">
...@@ -1078,8 +1060,7 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code, ...@@ -1078,8 +1060,7 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId _code,
</xsl:call-template> </xsl:call-template>
</xsl:for-each> </xsl:for-each>
if( ulog.is_level8() ) ulog8 &lt;&lt; " not found MessgeOID?!!" &lt;&lt; endl;
ulog.level8() &lt;&lt; " not found MessgeOID?!!" &lt;&lt; endl;
return false; return false;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#include <xsl:call-template name="preinclude"/>LT_Object.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>LT_Object.h<xsl:call-template name="postinclude"/>
#include <xsl:call-template name="preinclude"/>UniXML.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>UniXML.h<xsl:call-template name="postinclude"/>
#include <xsl:call-template name="preinclude"/>Trigger.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>Trigger.h<xsl:call-template name="postinclude"/>
#include <xsl:call-template name="preinclude"/>UniversalInterface.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>UInterface.h<xsl:call-template name="postinclude"/>
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
class <xsl:value-of select="$CLASSNAME"/>_SK: class <xsl:value-of select="$CLASSNAME"/>_SK:
<xsl:if test="normalize-space($BASECLASS)!=''">public <xsl:value-of select="normalize-space($BASECLASS)"/>,</xsl:if> <xsl:if test="normalize-space($BASECLASS)!=''">public <xsl:value-of select="normalize-space($BASECLASS)"/>,</xsl:if>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#include &lt;sstream&gt; #include &lt;sstream&gt;
#include <xsl:call-template name="preinclude"/>Configuration.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>Configuration.h<xsl:call-template name="postinclude"/>
#include <xsl:call-template name="preinclude"/>ObjectsActivator.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>UniSetActivator.h<xsl:call-template name="postinclude"/>
#include <xsl:call-template name="preinclude"/>Debug.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>Debug.h<xsl:call-template name="postinclude"/>
#include "<xsl:value-of select="$CLASSNAME"/>.h" #include "<xsl:value-of select="$CLASSNAME"/>.h"
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -53,10 +53,6 @@ int main( int argc,char* argv[] ) ...@@ -53,10 +53,6 @@ int main( int argc,char* argv[] )
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" );
conf = new Configuration(argc, argv,confile); conf = new Configuration(argc, argv,confile);
string logfilename = conf->getArgParam("--logfile","<xsl:value-of select="$CLASSNAME"/>.log");
string logname( conf->getLogDir() + logfilename );
ulog.logFile( logname.c_str() );
// определяем ID объекта // определяем ID объекта
ObjectId ID(DefaultObjectId); ObjectId ID(DefaultObjectId);
...@@ -73,8 +69,12 @@ int main( int argc,char* argv[] ) ...@@ -73,8 +69,12 @@ int main( int argc,char* argv[] )
} }
<xsl:value-of select="$CLASSNAME"/> obj(ID); <xsl:value-of select="$CLASSNAME"/> obj(ID);
ObjectsActivator act; string logfilename = conf->getArgParam("--logfile","<xsl:value-of select="$CLASSNAME"/>.log");
string logname( conf->getLogDir() + logfilename );
obj.mylog.logFile( logname.c_str() );
UniSetActivator act;
act.addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj)); act.addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj));
SystemMessage sm(SystemMessage::StartUp); SystemMessage sm(SystemMessage::StartUp);
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#include &lt;sstream&gt; #include &lt;sstream&gt;
#include <xsl:call-template name="preinclude"/>Configuration.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>Configuration.h<xsl:call-template name="postinclude"/>
#include <xsl:call-template name="preinclude"/>ObjectsActivator.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>UniSetActivator.h<xsl:call-template name="postinclude"/>
#include <xsl:call-template name="preinclude"/>Debug.h<xsl:call-template name="postinclude"/> #include <xsl:call-template name="preinclude"/>Debug.h<xsl:call-template name="postinclude"/>
#include "<xsl:value-of select="$CLASSNAME"/>.h" #include "<xsl:value-of select="$CLASSNAME"/>.h"
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -55,10 +55,6 @@ int main( int argc, const char** argv ) ...@@ -55,10 +55,6 @@ int main( int argc, const char** argv )
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" );
conf = new Configuration(argc, argv, confile); conf = new Configuration(argc, argv, confile);
string logfilename = conf->getArgParam("--logfile","<xsl:value-of select="$CLASSNAME"/>.log");
string logname( conf->getLogDir() + logfilename );
ulog.logFile( logname.c_str() );
<xsl:if test="not(normalize-space(//@OID))=''"> <xsl:if test="not(normalize-space(//@OID))=''">
<xsl:value-of select="$CLASSNAME"/> obj; <xsl:value-of select="$CLASSNAME"/> obj;
...@@ -79,9 +75,14 @@ int main( int argc, const char** argv ) ...@@ -79,9 +75,14 @@ int main( int argc, const char** argv )
} }
} }
<xsl:value-of select="$CLASSNAME"/> obj(ID); <xsl:value-of select="$CLASSNAME"/> obj(ID);
string logfilename = conf->getArgParam("--logfile","<xsl:value-of select="$CLASSNAME"/>.log");
string logname( conf->getLogDir() + logfilename );
obj.mylog.logFile( logname.c_str() );
</xsl:if> </xsl:if>
ObjectsActivator act; UniSetActivator act;
act.addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj)); act.addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj));
SystemMessage sm(SystemMessage::StartUp); SystemMessage sm(SystemMessage::StartUp);
......
...@@ -31,10 +31,10 @@ int main( int argc, const char **argv ) ...@@ -31,10 +31,10 @@ int main( int argc, const char **argv )
SystemMessage sm(SystemMessage::StartUp); SystemMessage sm(SystemMessage::StartUp);
act.broadcast( sm.transport_msg() ); act.broadcast( sm.transport_msg() );
ulog.ebug::ANY) << "\n\n\n"; ulog << "\n\n\n";
ulog.ebug::ANY] << "(Skel::main): -------------- Skel START -------------------------\n\n"; ulog << "(Skel::main): -------------- Skel START -------------------------\n\n";
dlog(Debug::ANY) << "\n\n\n"; dlog << "\n\n\n";
dlog[Debug::ANY] << "(Skel::main): -------------- Skel START -------------------------\n\n"; dlog << "(Skel::main): -------------- Skel START -------------------------\n\n";
act.run(false); act.run(false);
} }
catch(SystemError& err) catch(SystemError& err)
......
...@@ -356,6 +356,7 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname ...@@ -356,6 +356,7 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
- ObjectsActitvator --> UniSetActivator - ObjectsActitvator --> UniSetActivator
- remove deprecated property: "sensebility" - remove deprecated property: "sensebility"
- rename property "inverse" --> "threshold_invert" - rename property "inverse" --> "threshold_invert"
- add syntax sugar for ulog, dlog (dcrit,dwarn,dlog1,ulog1,ucrit,...)
* Tue Dec 10 2013 Pavel Vainerman <pv@altlinux.ru> 1.7-alt3 * Tue Dec 10 2013 Pavel Vainerman <pv@altlinux.ru> 1.7-alt3
- add RRDServer - add RRDServer
......
...@@ -152,20 +152,17 @@ void DBServer_MySQL::parse( UniSetTypes::ConfirmMessage* cem ) ...@@ -152,20 +152,17 @@ void DBServer_MySQL::parse( UniSetTypes::ConfirmMessage* cem )
if( !writeToBase(data.str()) ) if( !writeToBase(data.str()) )
{ {
if( ulog.is_crit() ) ucrit << myname << "(update_confirm): db error: "<< db->error() << endl;
ulog.crit() << myname << "(update_confirm): db error: "<< db->error() << endl;
db->freeResult(); db->freeResult();
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(update_confirm): " << ex << endl;
ulog.crit() << myname << "(update_confirm): " << ex << endl;
} }
catch( ... ) catch( ... )
{ {
if( ulog.is_crit() ) ucrit << myname << "(update_confirm): catch..." << endl;
ulog.crit() << myname << "(update_confirm): catch..." << endl;
} }
} }
//-------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------
...@@ -188,8 +185,7 @@ bool DBServer_MySQL::writeToBase( const string& query ) ...@@ -188,8 +185,7 @@ bool DBServer_MySQL::writeToBase( const string& query )
qbuf.pop(); qbuf.pop();
if( ulog.is_crit() ) ucrit << myname << "(writeToBase): DB not connected! buffer(" << qbufSize
ulog.crit() << myname << "(writeToBase): DB not connected! buffer(" << qbufSize
<< ") overflow! lost query: " << qlost << endl; << ") overflow! lost query: " << qlost << endl;
} }
return false; return false;
...@@ -231,11 +227,9 @@ void DBServer_MySQL::flushBuffer() ...@@ -231,11 +227,9 @@ void DBServer_MySQL::flushBuffer()
string err(db->error()); string err(db->error());
if( err.empty() ) if( err.empty() )
db->freeResult(); db->freeResult();
else if( ulog.is_crit() ) else
{ ucrit << myname << "(writeToBase): error: " << err <<
ulog.crit() << myname << "(writeToBase): error: " << err <<
" lost query: " << qbuf.front() << endl; " lost query: " << qbuf.front() << endl;
}
qbuf.pop(); qbuf.pop();
} }
...@@ -269,20 +263,17 @@ void DBServer_MySQL::parse( UniSetTypes::SensorMessage *si ) ...@@ -269,20 +263,17 @@ void DBServer_MySQL::parse( UniSetTypes::SensorMessage *si )
if( !writeToBase(data.str()) ) if( !writeToBase(data.str()) )
{ {
if( ulog.is_crit() ) ucrit << myname << "(insert) sensor msg error: "<< db->error() << endl;
ulog.crit() << myname << "(insert) sensor msg error: "<< db->error() << endl;
db->freeResult(); db->freeResult();
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(insert_main_history): " << ex << endl;
ulog.crit() << myname << "(insert_main_history): " << ex << endl;
} }
catch( ... ) catch( ... )
{ {
if( ulog.is_crit() ) ucrit << myname << "(insert_main_history): catch ..." << endl;
ulog.crit() << myname << "(insert_main_history): catch ..." << endl;
} }
} }
//-------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------
...@@ -346,8 +337,7 @@ void DBServer_MySQL::init_dbserver() ...@@ -346,8 +337,7 @@ void DBServer_MySQL::init_dbserver()
if( !db->connect(dbnode, user, password, dbname) ) if( !db->connect(dbnode, user, password, dbname) )
{ {
// ostringstream err; // ostringstream err;
if( ulog.is_crit() ) ucrit << myname
ulog.crit() << myname
<< "(init): DB connection error: " << "(init): DB connection error: "
<< db->error() << endl; << db->error() << endl;
// throw Exception( string(myname+"(init): не смогли создать соединение с БД "+db->error()) ); // throw Exception( string(myname+"(init): не смогли создать соединение с БД "+db->error()) );
...@@ -372,8 +362,7 @@ void DBServer_MySQL::createTables( DBInterface *db ) ...@@ -372,8 +362,7 @@ void DBServer_MySQL::createTables( DBInterface *db )
UniXML_iterator it( conf->getNode("Tables") ); UniXML_iterator it( conf->getNode("Tables") );
if(!it) if(!it)
{ {
if( ulog.is_crit() ) ucrit << myname << ": section <Tables> not found.."<< endl;
ulog.crit() << myname << ": section <Tables> not found.."<< endl;
throw Exception(); throw Exception();
} }
...@@ -385,8 +374,8 @@ void DBServer_MySQL::createTables( DBInterface *db ) ...@@ -385,8 +374,8 @@ void DBServer_MySQL::createTables( DBInterface *db )
ulog[DBLogInfoLevel] << myname << "(createTables): create " << it.getName() << endl; ulog[DBLogInfoLevel] << myname << "(createTables): create " << it.getName() << endl;
ostringstream query; ostringstream query;
query << "CREATE TABLE " << conf->getProp(it,"name") << "(" << conf->getProp(it,"create") << ")"; query << "CREATE TABLE " << conf->getProp(it,"name") << "(" << conf->getProp(it,"create") << ")";
if( !db->query(query.str()) && ulog.is_crit() ) if( !db->query(query.str()) )
ulog.crit() << myname << "(createTables): error: \t\t" << db->error() << endl; ucrit << myname << "(createTables): error: \t\t" << db->error() << endl;
} }
} }
} }
...@@ -399,8 +388,7 @@ void DBServer_MySQL::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -399,8 +388,7 @@ void DBServer_MySQL::timerInfo( UniSetTypes::TimerMessage* tm )
{ {
if( !db->ping() ) if( !db->ping() )
{ {
if( ulog.is_warn() ) uwarn << myname << "(timerInfo): DB lost connection.." << endl;
ulog.warn() << myname << "(timerInfo): DB lost connection.." << endl;
connect_ok = false; connect_ok = false;
askTimer(DBServer_MySQL::PingTimer,0); askTimer(DBServer_MySQL::PingTimer,0);
askTimer(DBServer_MySQL::ReconnectTimer,ReconnectTime); askTimer(DBServer_MySQL::ReconnectTimer,ReconnectTime);
...@@ -427,8 +415,7 @@ void DBServer_MySQL::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -427,8 +415,7 @@ void DBServer_MySQL::timerInfo( UniSetTypes::TimerMessage* tm )
askTimer(DBServer_MySQL::PingTimer,PingTime); askTimer(DBServer_MySQL::PingTimer,PingTime);
} }
connect_ok = false; connect_ok = false;
if( ulog.is_warn() ) uwarn << myname << "(timerInfo): DB no connection.." << endl;
ulog.warn() << myname << "(timerInfo): DB no connection.." << endl;
} }
else else
init_dbserver(); init_dbserver();
...@@ -436,8 +423,7 @@ void DBServer_MySQL::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -436,8 +423,7 @@ void DBServer_MySQL::timerInfo( UniSetTypes::TimerMessage* tm )
break; break;
default: default:
if( ulog.is_warn() ) uwarn << myname << "(timerInfo): Unknown TimerID=" << tm->id << endl;
ulog.warn() << myname << "(timerInfo): Unknown TimerID=" << tm->id << endl;
break; break;
} }
} }
......
...@@ -148,19 +148,16 @@ void DBServer_SQLite::parse( UniSetTypes::ConfirmMessage* cem ) ...@@ -148,19 +148,16 @@ void DBServer_SQLite::parse( UniSetTypes::ConfirmMessage* cem )
if( !writeToBase(data.str()) ) if( !writeToBase(data.str()) )
{ {
if( ulog.is_crit() ) ucrit << myname << "(update_confirm): db error: "<< db->error() << endl;
ulog.crit() << myname << "(update_confirm): db error: "<< db->error() << endl;
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(update_confirm): " << ex << endl;
ulog.crit() << myname << "(update_confirm): " << ex << endl;
} }
catch( ... ) catch( ... )
{ {
if( ulog.is_crit() ) ucrit << myname << "(update_confirm): catch..." << endl;
ulog.crit() << myname << "(update_confirm): catch..." << endl;
} }
} }
//-------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------
...@@ -183,8 +180,7 @@ bool DBServer_SQLite::writeToBase( const string& query ) ...@@ -183,8 +180,7 @@ bool DBServer_SQLite::writeToBase( const string& query )
qbuf.pop(); qbuf.pop();
if( ulog.is_crit() ) ucrit << myname << "(writeToBase): DB not connected! buffer(" << qbufSize
ulog.crit() << myname << "(writeToBase): DB not connected! buffer(" << qbufSize
<< ") overflow! lost query: " << qlost << endl; << ") overflow! lost query: " << qlost << endl;
} }
return false; return false;
...@@ -207,9 +203,9 @@ void DBServer_SQLite::flushBuffer() ...@@ -207,9 +203,9 @@ void DBServer_SQLite::flushBuffer()
// Сперва пробуем очистить всё что накопилось в очереди до этого... // Сперва пробуем очистить всё что накопилось в очереди до этого...
while( !qbuf.empty() ) while( !qbuf.empty() )
{ {
if( !db->insert(qbuf.front()) && ulog.is_crit() ) if( !db->insert(qbuf.front()) )
{ {
ulog.crit() << myname << "(writeToBase): error: " << db->error() << ucrit << myname << "(writeToBase): error: " << db->error() <<
" lost query: " << qbuf.front() << endl; " lost query: " << qbuf.front() << endl;
} }
qbuf.pop(); qbuf.pop();
...@@ -244,17 +240,16 @@ void DBServer_SQLite::parse( UniSetTypes::SensorMessage *si ) ...@@ -244,17 +240,16 @@ void DBServer_SQLite::parse( UniSetTypes::SensorMessage *si )
if( !writeToBase(data.str()) ) if( !writeToBase(data.str()) )
{ {
if( ulog.is_crit() ) ucrit << myname << "(insert) sensor msg error: "<< db->error() << endl;
ulog.crit() << myname << "(insert) sensor msg error: "<< db->error() << endl;
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
ulog.crit() << myname << "(insert_main_history): " << ex << endl; ucrit << myname << "(insert_main_history): " << ex << endl;
} }
catch( ... ) catch( ... )
{ {
ulog.crit() << myname << "(insert_main_history): catch ..." << endl; ucrit << myname << "(insert_main_history): catch ..." << endl;
} }
} }
//-------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------
...@@ -311,8 +306,7 @@ void DBServer_SQLite::init_dbserver() ...@@ -311,8 +306,7 @@ void DBServer_SQLite::init_dbserver()
if( !db->connect(dbfile,false) ) if( !db->connect(dbfile,false) )
{ {
// ostringstream err; // ostringstream err;
if( ulog.is_crit() ) ucrit << myname
ulog.crit() << myname
<< "(init): DB connection error: " << "(init): DB connection error: "
<< db->error() << endl; << db->error() << endl;
// throw Exception( string(myname+"(init): не смогли создать соединение с БД "+db->error()) ); // throw Exception( string(myname+"(init): не смогли создать соединение с БД "+db->error()) );
...@@ -337,8 +331,7 @@ void DBServer_SQLite::createTables( SQLiteInterface *db ) ...@@ -337,8 +331,7 @@ void DBServer_SQLite::createTables( SQLiteInterface *db )
UniXML_iterator it( conf->getNode("Tables") ); UniXML_iterator it( conf->getNode("Tables") );
if(!it) if(!it)
{ {
if( ulog.is_crit() ) ucrit << myname << ": section <Tables> not found.."<< endl;
ulog.crit() << myname << ": section <Tables> not found.."<< endl;
throw Exception(); throw Exception();
} }
...@@ -350,8 +343,8 @@ void DBServer_SQLite::createTables( SQLiteInterface *db ) ...@@ -350,8 +343,8 @@ void DBServer_SQLite::createTables( SQLiteInterface *db )
ulog[DBLogInfoLevel] << myname << "(createTables): create " << it.getName() << endl; ulog[DBLogInfoLevel] << myname << "(createTables): create " << it.getName() << endl;
ostringstream query; ostringstream query;
query << "CREATE TABLE " << conf->getProp(it,"name") << "(" << conf->getProp(it,"create") << ")"; query << "CREATE TABLE " << conf->getProp(it,"name") << "(" << conf->getProp(it,"create") << ")";
if( !db->query(query.str()) && ulog.is_crit() ) if( !db->query(query.str()) )
ulog.crit() << myname << "(createTables): error: \t\t" << db->error() << endl; ucrit << myname << "(createTables): error: \t\t" << db->error() << endl;
} }
} }
} }
...@@ -364,8 +357,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -364,8 +357,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm )
{ {
if( !db->ping() ) if( !db->ping() )
{ {
if( ulog.is_warn() ) uwarn << myname << "(timerInfo): DB lost connection.." << endl;
ulog.warn() << myname << "(timerInfo): DB lost connection.." << endl;
connect_ok = false; connect_ok = false;
askTimer(DBServer_SQLite::PingTimer,0); askTimer(DBServer_SQLite::PingTimer,0);
askTimer(DBServer_SQLite::ReconnectTimer,ReconnectTime); askTimer(DBServer_SQLite::ReconnectTimer,ReconnectTime);
...@@ -378,7 +370,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -378,7 +370,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm )
} }
} }
break; break;
case DBServer_SQLite::ReconnectTimer: case DBServer_SQLite::ReconnectTimer:
{ {
if( ulog.debugging(DBLogInfoLevel) ) if( ulog.debugging(DBLogInfoLevel) )
...@@ -392,8 +384,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -392,8 +384,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm )
askTimer(DBServer_SQLite::PingTimer,PingTime); askTimer(DBServer_SQLite::PingTimer,PingTime);
} }
connect_ok = false; connect_ok = false;
if( ulog.is_warn() ) uwarn << myname << "(timerInfo): DB no connection.." << endl;
ulog.warn() << myname << "(timerInfo): DB no connection.." << endl;
} }
else else
init_dbserver(); init_dbserver();
...@@ -401,8 +392,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -401,8 +392,7 @@ void DBServer_SQLite::timerInfo( UniSetTypes::TimerMessage* tm )
break; break;
default: default:
if( ulog.is_warn() ) uwarn << myname << "(timerInfo): Unknown TimerID=" << tm->id << endl;
ulog.warn() << myname << "(timerInfo): Unknown TimerID=" << tm->id << endl;
break; break;
} }
} }
......
...@@ -59,7 +59,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -59,7 +59,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
maxCardNum = conf->getArgInt("--"+prefix+"-max-cardnum","10"); maxCardNum = conf->getArgInt("--"+prefix+"-max-cardnum","10");
cards.resize(maxCardNum+1); cards.resize(maxCardNum+1);
dlog.info() << myname << "(init): numcards=" << numcards << endl; dinfo << myname << "(init): numcards=" << numcards << endl;
UniXML_iterator it(cnode); UniXML_iterator it(cnode);
...@@ -79,12 +79,12 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -79,12 +79,12 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
string iodev = conf->getArgParam(s1.str(),it.getProp(s2.str())); string iodev = conf->getArgParam(s1.str(),it.getProp(s2.str()));
if( iodev.empty() ) if( iodev.empty() )
continue; continue;
if( iodev == "/dev/null" ) if( iodev == "/dev/null" )
{ {
if( cards[i] == NULL ) if( cards[i] == NULL )
{ {
if( dlog.is_level3() ) dlog.level3() << myname << "(init): Card N" << i dlog3 << myname << "(init): Card N" << i
<< " DISABLED! dev='" << " DISABLED! dev='"
<< iodev << "'" << endl; << iodev << "'" << endl;
} }
...@@ -93,7 +93,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -93,7 +93,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
{ {
noCards = false; noCards = false;
cards[i] = new ComediInterface(iodev); cards[i] = new ComediInterface(iodev);
if( dlog.is_level3() ) dlog.level3() << myname << "(init): ADD card" << i << " dev=" << iodev << endl; dlog3 << myname << "(init): ADD card" << i << " dev=" << iodev << endl;
} }
if( cards[i] != NULL ) if( cards[i] != NULL )
...@@ -102,8 +102,8 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -102,8 +102,8 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
{ {
stringstream t1; stringstream t1;
t1 << s1.str() << "-subdev" << s << "-type"; t1 << s1.str() << "-subdev" << s << "-type";
string stype = conf->getArgParam(t1.str()); string stype( conf->getArgParam(t1.str()) );
if( !stype.empty() ) if( !stype.empty() )
{ {
ComediInterface::SubdevType st = ComediInterface::str2type(stype.c_str()); ComediInterface::SubdevType st = ComediInterface::str2type(stype.c_str());
...@@ -113,11 +113,10 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -113,11 +113,10 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
err << "Unknown subdev type '" << stype << " for " << t1; err << "Unknown subdev type '" << stype << " for " << t1;
throw SystemError(err.str()); throw SystemError(err.str());
} }
if( !stype.empty() ) if( !stype.empty() )
{ {
if( dlog.is_info() ) dinfo << myname
dlog.info() << myname
<< "(init): card" << i << "(init): card" << i
<< " subdev" << s << " set type " << stype << endl; << " subdev" << s << " set type " << stype << endl;
...@@ -128,9 +127,8 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -128,9 +127,8 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
} }
} }
if( dlog.is_info() ) dinfo << myname << "(init): result numcards=" << cards.size() << endl;
dlog.info() << myname << "(init): result numcards=" << cards.size() << endl;
polltime = conf->getArgInt("--"+prefix+"-polltime",it.getProp("polltime")); polltime = conf->getArgInt("--"+prefix+"-polltime",it.getProp("polltime"));
if( !polltime ) if( !polltime )
polltime = 100; polltime = 100;
...@@ -150,13 +148,11 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -150,13 +148,11 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
{ {
ostringstream err; ostringstream err;
err << myname << ": Unkown ID for " << testlamp; err << myname << ": Unkown ID for " << testlamp;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
if( dlog.is_info() ) dinfo << myname << "(init): testLamp_S='" << testlamp << "'" << endl;
dlog.info() << myname << "(init): testLamp_S='" << testlamp << "'" << endl;
} }
string tmode = conf->getArgParam("--"+prefix+"-test-mode",it.getProp("testmode_as")); string tmode = conf->getArgParam("--"+prefix+"-test-mode",it.getProp("testmode_as"));
...@@ -167,13 +163,11 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -167,13 +163,11 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
{ {
ostringstream err; ostringstream err;
err << myname << ": Unknown ID for " << tmode; err << myname << ": Unknown ID for " << tmode;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
if( dlog.is_info() ) dinfo << myname << "(init): testMode_as='" << testmode << "'" << endl;
dlog.info() << myname << "(init): testMode_as='" << testmode << "'" << endl;
} }
shm = new SMInterface(icID,&ui,myid,ic); shm = new SMInterface(icID,&ui,myid,ic);
...@@ -182,8 +176,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -182,8 +176,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
s_field = conf->getArgParam("--"+prefix+"-s-filter-field"); s_field = conf->getArgParam("--"+prefix+"-s-filter-field");
s_fvalue = conf->getArgParam("--"+prefix+"-s-filter-value"); s_fvalue = conf->getArgParam("--"+prefix+"-s-filter-value");
if( dlog.is_info() ) dinfo << myname << "(init): read s_field='" << s_field
dlog.info() << myname << "(init): read s_field='" << s_field
<< "' s_fvalue='" << s_fvalue << "'" << endl; << "' s_fvalue='" << s_fvalue << "'" << endl;
int blink_msec = conf->getArgPInt("--"+prefix+"-blink-time",it.getProp("blink-time"), 300); int blink_msec = conf->getArgPInt("--"+prefix+"-blink-time",it.getProp("blink-time"), 300);
...@@ -207,13 +200,12 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -207,13 +200,12 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
if( sidTestSMReady == DefaultObjectId ) if( sidTestSMReady == DefaultObjectId )
{ {
sidTestSMReady = conf->getSensorID("TestMode_S"); sidTestSMReady = conf->getSensorID("TestMode_S");
if( dlog.is_warn() ) dwarn << myname
dlog.warn() << myname
<< "(init): Unknown ID for sm-ready-test-sid (--" << prefix << "-sm-ready-test-sid)." << "(init): Unknown ID for sm-ready-test-sid (--" << prefix << "-sm-ready-test-sid)."
<< " Use 'TestMode_S'" << endl; << " Use 'TestMode_S'" << endl;
} }
else if( dlog.is_info() ) else
dlog.info() << myname << "(init): test-sid: " << sm_ready_sid << endl; dinfo << myname << "(init): test-sid: " << sm_ready_sid << endl;
// ----------------------- // -----------------------
...@@ -225,8 +217,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -225,8 +217,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
{ {
ostringstream err; ostringstream err;
err << myname << ": Not found ID for 'HeartBeat' " << heart; err << myname << ": Not found ID for 'HeartBeat' " << heart;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -287,8 +278,7 @@ void IOControl::execute() ...@@ -287,8 +278,7 @@ void IOControl::execute()
} }
maxHalf = maxItem / 2; maxHalf = maxItem / 2;
if( dlog.is_info() ) dinfo << myname << "(init): iomap size = " << iomap.size() << endl;
dlog.info() << myname << "(init): iomap size = " << iomap.size() << endl;
cerr << myname << "(iomap size): " << iomap.size() << endl; cerr << myname << "(iomap size): " << iomap.size() << endl;
...@@ -314,9 +304,9 @@ void IOControl::execute() ...@@ -314,9 +304,9 @@ void IOControl::execute()
break; break;
} }
} }
if( !activated && dlog.is_crit() ) if( !activated )
dlog.crit() << myname << "(execute): ************* don`t activate?! ************" << endl; dcrit << myname << "(execute): ************* don`t activate?! ************" << endl;
try try
{ {
...@@ -383,21 +373,18 @@ void IOControl::execute() ...@@ -383,21 +373,18 @@ void IOControl::execute()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(execute): " << ex << endl;
dlog.level3() << myname << "(execute): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.is_level3() ) dlog3 << myname << "(execute): CORBA::SystemException: "
dlog.level3() << myname << "(execute): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_level3() ) dlog3 << myname << "(execute): catch ..." << endl;
dlog.level3() << myname << "(execute): catch ..." << endl;
} }
if( term ) if( term )
break; break;
...@@ -494,8 +481,7 @@ void IOControl::ioread( IOInfo* it ) ...@@ -494,8 +481,7 @@ void IOControl::ioread( IOInfo* it )
if( it->si.id == DefaultObjectId ) if( it->si.id == DefaultObjectId )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(iopoll): sid=DefaultObjectId?!" << endl;
dlog.level3() << myname << "(iopoll): sid=DefaultObjectId?!" << endl;
return; return;
} }
...@@ -507,34 +493,20 @@ void IOControl::ioread( IOInfo* it ) ...@@ -507,34 +493,20 @@ void IOControl::ioread( IOInfo* it )
{ {
int val = card->getAnalogChannel(it->subdev,it->channel, it->range, it->aref); int val = card->getAnalogChannel(it->subdev,it->channel, it->range, it->aref);
if( dlog.is_level3() ) dlog3 << myname << "(iopoll): read AI "
{
dlog.level3() << myname << "(iopoll): read AI "
<< " sid=" << it->si.id << " sid=" << it->si.id
<< " subdev=" << it->subdev << " subdev=" << it->subdev
<< " chan=" << it->channel << " chan=" << it->channel
<< " val=" << val << " val=" << val
<< endl; << endl;
}
IOBase::processingAsAI( ib, val, shm, force ); IOBase::processingAsAI( ib, val, shm, force );
} }
else if( it->stype == UniversalIO::DI ) else if( it->stype == UniversalIO::DI )
{ {
bool set = card->getDigitalChannel(it->subdev,it->channel); bool set = card->getDigitalChannel(it->subdev,it->channel);
/*
if( dlog.is_level3() )
{
dlog.level3() << myname << "(iopoll): read DI "
<< " sid=" << it->si.id
<< " subdev=" << it->subdev
<< " chan=" << it->channel
<< " state=" << set
<< endl;
}
*/
IOBase::processingAsDI( ib, set, shm, force ); IOBase::processingAsDI( ib, set, shm, force );
// немного оптимизации // немного оптимизации
// сразу выставляем.сбрасываем флаг тестирования // сразу выставляем.сбрасываем флаг тестирования
if( it->si.id == testLamp_S ) if( it->si.id == testLamp_S )
...@@ -641,36 +613,30 @@ void IOControl::ioread( IOInfo* it ) ...@@ -641,36 +613,30 @@ void IOControl::ioread( IOInfo* it )
} }
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
if( dlog.is_level3() ) dlog3 << myname << "(iopoll):(NameNotFound) " << ex.err << endl;
dlog.level3() << myname << "(iopoll):(NameNotFound) " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(iopoll):(IOBadParam) " << ex.err << endl;
dlog.level3() << myname << "(iopoll):(IOBadParam) " << ex.err << endl;
} }
catch(IONotifyController_i::BadRange ) catch(IONotifyController_i::BadRange )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(iopoll): (BadRange)..." << endl;
dlog.level3() << myname << "(iopoll): (BadRange)..." << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(iopoll): " << ex << endl;
dlog.level3() << myname << "(iopoll): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.is_level3() ) dlog3 << myname << "(iopoll): СORBA::SystemException: "
dlog.level3() << myname << "(iopoll): СORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_level3() ) dlog3 << myname << "(iopoll): catch ..." << endl;
dlog.level3() << myname << "(iopoll): catch ..." << endl;
} }
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
void IOControl::readConfiguration() void IOControl::readConfiguration()
...@@ -688,8 +654,7 @@ void IOControl::readConfiguration() ...@@ -688,8 +654,7 @@ void IOControl::readConfiguration()
UniXML_iterator it(root); UniXML_iterator it(root);
if( !it.goChildren() ) if( !it.goChildren() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(readConfiguration): section <sensors> empty?!!\n";
dlog.warn() << myname << "(readConfiguration): section <sensors> empty?!!\n";
return; return;
} }
...@@ -698,7 +663,7 @@ void IOControl::readConfiguration() ...@@ -698,7 +663,7 @@ void IOControl::readConfiguration()
if( UniSetTypes::check_filter(it,s_field,s_fvalue) ) if( UniSetTypes::check_filter(it,s_field,s_fvalue) )
initIOItem(it); initIOItem(it);
} }
readconf_ok = true; readconf_ok = true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -720,8 +685,7 @@ bool IOControl::initIOItem( UniXML_iterator& it ) ...@@ -720,8 +685,7 @@ bool IOControl::initIOItem( UniXML_iterator& it )
if( c.empty() || inf.ncard < 0 || inf.ncard >= (int)cards.size() ) if( c.empty() || inf.ncard < 0 || inf.ncard >= (int)cards.size() )
{ {
if( dlog.is_level3() ) dlog3 << myname
dlog.level3() << myname
<< "(initIOItem): Unknown or bad card number (" << "(initIOItem): Unknown or bad card number ("
<< inf.ncard << ") for " << it.getProp("name") << inf.ncard << ") for " << it.getProp("name")
<< " set default=" << defCardNum << endl; << " set default=" << defCardNum << endl;
...@@ -753,8 +717,7 @@ bool IOControl::initIOItem( UniXML_iterator& it ) ...@@ -753,8 +717,7 @@ bool IOControl::initIOItem( UniXML_iterator& it )
inf.channel = it.getIntProp("channel"); inf.channel = it.getIntProp("channel");
if( inf.channel < 0 || inf.channel > 32 ) if( inf.channel < 0 || inf.channel > 32 )
{ {
if( dlog.is_warn() ) dwarn << myname << "(readItem): Unknown channel: " << inf.channel
dlog.warn() << myname << "(readItem): Unknown channel: " << inf.channel
<< " for " << it.getProp("name") << endl; << " for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -774,8 +737,7 @@ bool IOControl::initIOItem( UniXML_iterator& it ) ...@@ -774,8 +737,7 @@ bool IOControl::initIOItem( UniXML_iterator& it )
inf.range = it.getIntProp("range"); inf.range = it.getIntProp("range");
if( inf.range < 0 || inf.range > 3 ) if( inf.range < 0 || inf.range > 3 )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readItem): Unknown 'range': " << inf.range
dlog.crit() << myname << "(readItem): Unknown 'range': " << inf.range
<< " for " << it.getProp("name") << " for " << it.getProp("name")
<< " Must be range=[0..3]" << endl; << " Must be range=[0..3]" << endl;
return false; return false;
...@@ -784,16 +746,14 @@ bool IOControl::initIOItem( UniXML_iterator& it ) ...@@ -784,16 +746,14 @@ bool IOControl::initIOItem( UniXML_iterator& it )
inf.aref = it.getIntProp("aref"); inf.aref = it.getIntProp("aref");
if( inf.aref < 0 || inf.aref > 3 ) if( inf.aref < 0 || inf.aref > 3 )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readItem): Unknown 'aref': " << inf.aref
dlog.crit() << myname << "(readItem): Unknown 'aref': " << inf.aref
<< " for " << it.getProp("name") << " for " << it.getProp("name")
<< ". Must be aref=[0..3]" << endl; << ". Must be aref=[0..3]" << endl;
return false; return false;
} }
} }
if( dlog.is_level3() ) dlog3 << myname << "(readItem): add: " << inf.stype << " " << inf << endl;
dlog.level3() << myname << "(readItem): add: " << inf.stype << " " << inf << endl;
// если вектор уже заполнен // если вектор уже заполнен
// то увеличиваем его на 10 элементов (с запасом) // то увеличиваем его на 10 элементов (с запасом)
...@@ -807,8 +767,7 @@ bool IOControl::initIOItem( UniXML_iterator& it ) ...@@ -807,8 +767,7 @@ bool IOControl::initIOItem( UniXML_iterator& it )
{ {
IOPriority p(prior,maxItem); IOPriority p(prior,maxItem);
pmap.push_back(p); pmap.push_back(p);
if( dlog.is_level3() ) dlog3 << myname << "(readItem): add to priority list: "
dlog.level3() << myname << "(readItem): add to priority list: "
<< it.getProp("name") << it.getProp("name")
<< " priority=" << prior << endl; << " priority=" << prior << endl;
} }
...@@ -867,13 +826,11 @@ void IOControl::sigterm( int signo ) ...@@ -867,13 +826,11 @@ void IOControl::sigterm( int signo )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(sigterm): " << ex << endl;
dlog.level3() << myname << "(sigterm): " << ex << endl;
} }
catch(...){} catch(...){}
} }
while( term ){} while( term ){}
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -904,8 +861,7 @@ void IOControl::initOutputs() ...@@ -904,8 +861,7 @@ void IOControl::initOutputs()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(initOutput): " << ex << endl;
dlog.level3() << myname << "(initOutput): " << ex << endl;
} }
} }
} }
...@@ -946,8 +902,7 @@ void IOControl::initIOCard() ...@@ -946,8 +902,7 @@ void IOControl::initIOCard()
} }
catch( Exception& ex) catch( Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(initIOCard): sid=" << it->si.id << " " << ex << endl;
dlog.crit() << myname << "(initIOCard): sid=" << it->si.id << " " << ex << endl;
} }
} }
} }
...@@ -974,8 +929,7 @@ void IOControl::blink( BlinkList& lst, bool& bstate ) ...@@ -974,8 +929,7 @@ void IOControl::blink( BlinkList& lst, bool& bstate )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(blink): " << ex << endl;
dlog.crit() << myname << "(blink): " << ex << endl;
} }
} }
...@@ -1059,8 +1013,7 @@ void IOControl::check_testmode() ...@@ -1059,8 +1013,7 @@ void IOControl::check_testmode()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(sigterm): " << ex << endl;
dlog.level3() << myname << "(sigterm): " << ex << endl;
} }
catch(...){} catch(...){}
} }
...@@ -1069,12 +1022,11 @@ void IOControl::check_testmode() ...@@ -1069,12 +1022,11 @@ void IOControl::check_testmode()
} }
catch( Exception& ex) catch( Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(check_testmode): " << ex << endl;
dlog.crit() << myname << "(check_testmode): " << ex << endl;
} }
catch(...) catch(...)
{ {
dcrit << myname << "(check_testmode): catch ..." << endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -1134,13 +1086,12 @@ void IOControl::check_testlamp() ...@@ -1134,13 +1086,12 @@ void IOControl::check_testlamp()
} }
} }
catch( Exception& ex) catch( Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(check_testlamp): " << ex << endl;
dlog.crit() << myname << "(check_testlamp): " << ex << endl;
} }
catch(...) catch(...)
{ {
dcrit << myname << "(check_testlamp): catch ..." << endl;
} }
} }
...@@ -1166,8 +1117,7 @@ IOControl* IOControl::init_iocontrol( int argc, const char* const* argv, ...@@ -1166,8 +1117,7 @@ IOControl* IOControl::init_iocontrol( int argc, const char* const* argv,
int numcards = conf->getArgPInt("--"+prefix+"-numcards",1); int numcards = conf->getArgPInt("--"+prefix+"-numcards",1);
if( dlog.is_info() ) dinfo << "(iocontrol): name = " << name << "(" << ID << ")" << endl;
dlog.info() << "(iocontrol): name = " << name << "(" << ID << ")" << endl;
return new IOControl(ID,icID,ic,numcards,prefix); return new IOControl(ID,icID,ic,numcards,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -1237,8 +1187,7 @@ void IOControl::processingMessage( UniSetTypes::VoidMessage* msg ) ...@@ -1237,8 +1187,7 @@ void IOControl::processingMessage( UniSetTypes::VoidMessage* msg )
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): " << ex << endl;
dlog.crit() << myname << "(processingMessage): " << ex << endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -1251,25 +1200,24 @@ void IOControl::sysCommand( SystemMessage* sm ) ...@@ -1251,25 +1200,24 @@ void IOControl::sysCommand( SystemMessage* sm )
PassiveTimer ptAct(activateTimeout); PassiveTimer ptAct(activateTimeout);
while( !activated && !ptAct.checkTime() ) while( !activated && !ptAct.checkTime() )
{ {
if( dlog.is_info() ) dinfo << myname << "(sysCommand): wait activate..." << endl;
dlog.info() << myname << "(sysCommand): wait activate..." << endl;
msleep(300); msleep(300);
if( activated ) if( activated )
break; break;
} }
if( !activated && dlog.is_crit() ) if( !activated )
dlog.crit() << myname << "(sysCommand): ************* don`t activate?! ************" << endl; dcrit << myname << "(sysCommand): ************* don`t activate?! ************" << endl;
askSensors(UniversalIO::UIONotify); askSensors(UniversalIO::UIONotify);
break; break;
} }
case SystemMessage::FoldUp: case SystemMessage::FoldUp:
case SystemMessage::Finish: case SystemMessage::Finish:
askSensors(UniversalIO::UIODontNotify); askSensors(UniversalIO::UIODontNotify);
break; break;
case SystemMessage::WatchDog: case SystemMessage::WatchDog:
{ {
// ОПТИМИЗАЦИЯ (защита от двойного перезаказа при старте) // ОПТИМИЗАЦИЯ (защита от двойного перезаказа при старте)
...@@ -1336,24 +1284,22 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -1336,24 +1284,22 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd )
<< "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение " << "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение "
<< activateTimeout << " мсек"; << activateTimeout << " мсек";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс... kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
throw SystemError(err.str()); throw SystemError(err.str());
} }
PassiveTimer ptAct(activateTimeout); PassiveTimer ptAct(activateTimeout);
while( !readconf_ok && !ptAct.checkTime() ) while( !readconf_ok && !ptAct.checkTime() )
{ {
if( dlog.is_info() ) dinfo << myname << "(askSensors): wait read configuration..." << endl;
dlog.info() << myname << "(askSensors): wait read configuration..." << endl;
msleep(50); msleep(50);
if( readconf_ok ) if( readconf_ok )
break; break;
} }
if( !readconf_ok && dlog.is_crit() ) if( !readconf_ok )
dlog.crit() << myname << "(askSensors): ************* don`t read configuration?! ************" << endl; dcrit << myname << "(askSensors): ************* don`t read configuration?! ************" << endl;
try try
{ {
...@@ -1362,8 +1308,7 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -1362,8 +1308,7 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( Exception& ex) catch( Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(askSensors): " << ex << endl;
dlog.crit() << myname << "(askSensors): " << ex << endl;
} }
try try
...@@ -1373,9 +1318,8 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -1373,9 +1318,8 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( Exception& ex) catch( Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(askSensors): " << ex << endl;
dlog.crit() << myname << "(askSensors): " << ex << endl; }
}
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it ) for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
{ {
...@@ -1396,8 +1340,7 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -1396,8 +1340,7 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( Exception& ex) catch( Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(askSensors): " << ex << endl;
dlog.crit() << myname << "(askSensors): " << ex << endl;
} }
} }
} }
...@@ -1405,19 +1348,14 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -1405,19 +1348,14 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm ) void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm )
{ {
if( dlog.is_level1() ) dlog1 << myname << "(sensorInfo): sm->id=" << sm->id
{
dlog.level1() << myname << "(sensorInfo): sm->id=" << sm->id
<< " val=" << sm->value << endl; << " val=" << sm->value << endl;
}
if( force_out ) if( force_out )
return; return;
if( sm->id == testLamp_S ) if( sm->id == testLamp_S )
{ {
if( dlog.is_info() ) dinfo << myname << "(sensorInfo): test_lamp=" << sm->value << endl;
dlog.info() << myname << "(sensorInfo): test_lamp=" << sm->value << endl;
isTestLamp = (bool)sm->value; isTestLamp = (bool)sm->value;
} }
else if( sm->id == testMode_as ) else if( sm->id == testMode_as )
...@@ -1430,13 +1368,10 @@ void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm ) ...@@ -1430,13 +1368,10 @@ void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm )
{ {
if( it->si.id == sm->id ) if( it->si.id == sm->id )
{ {
if( dlog.is_info() ) dinfo << myname << "(sensorInfo): sid=" << sm->id
{
dlog.info() << myname << "(sensorInfo): sid=" << sm->id
<< " value=" << sm->value << " value=" << sm->value
<< endl; << endl;
}
if( it->stype == UniversalIO::AO ) if( it->stype == UniversalIO::AO )
{ {
long prev_val = 0; long prev_val = 0;
...@@ -1524,7 +1459,7 @@ void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm ) ...@@ -1524,7 +1459,7 @@ void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm )
} }
} }
break; break;
default: default:
break; break;
} }
...@@ -1532,17 +1467,14 @@ void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm ) ...@@ -1532,17 +1467,14 @@ void IOControl::sensorInfo( UniSetTypes::SensorMessage* sm )
} }
else if( it->stype == UniversalIO::DO ) else if( it->stype == UniversalIO::DO )
{ {
if( dlog.is_level1() ) dlog1 << myname << "(sensorInfo): DO: sm->id=" << sm->id
{
dlog.level1() << myname << "(sensorInfo): DO: sm->id=" << sm->id
<< " val=" << sm->value << endl; << " val=" << sm->value << endl;
}
uniset_rwmutex_wrlock lock(it->val_lock); uniset_rwmutex_wrlock lock(it->val_lock);
it->value = sm->value ? 1:0; it->value = sm->value ? 1:0;
} }
break; break;
} }
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -1559,8 +1491,7 @@ void IOControl::waitSM() ...@@ -1559,8 +1491,7 @@ void IOControl::waitSM()
err << myname << "(execute): did not wait for the ready 'SharedMemory'. Timeout " err << myname << "(execute): did not wait for the ready 'SharedMemory'. Timeout "
<< smReadyTimeout << " msec"; << smReadyTimeout << " msec";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -1570,16 +1501,14 @@ void IOControl::buildCardsList() ...@@ -1570,16 +1501,14 @@ void IOControl::buildCardsList()
xmlNode* nnode = conf->getXMLNodesSection(); xmlNode* nnode = conf->getXMLNodesSection();
if( !nnode ) if( !nnode )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildCardsList): <nodes> not found?!" << endl;
dlog.warn() << myname << "(buildCardsList): <nodes> not found?!" << endl;
return; return;
} }
UniXML* xml = conf->getConfXML(); UniXML* xml = conf->getConfXML();
if( !xml ) if( !xml )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildCardsList): xml=NULL?!" << endl;
dlog.warn() << myname << "(buildCardsList): xml=NULL?!" << endl;
return; return;
} }
...@@ -1597,27 +1526,24 @@ void IOControl::buildCardsList() ...@@ -1597,27 +1526,24 @@ void IOControl::buildCardsList()
if( !mynode ) if( !mynode )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildCardsList): node='" << conf->getLocalNodeName() << "' not found.." << endl;
dlog.warn() << myname << "(buildCardsList): node='" << conf->getLocalNodeName() << "' not found.." << endl;
return; return;
} }
//xmlNode* cnode = xml->findNode(mynode,"iocards",""); //xmlNode* cnode = xml->findNode(mynode,"iocards","");
//xmlNode* extFindNode(xmlNode* node, int depth, int width, const std::string searchnode, const std::string name = "", bool top=true ); //xmlNode* extFindNode(xmlNode* node, int depth, int width, const std::string searchnode, const std::string name = "", bool top=true );
xmlNode* cnode = xml->extFindNode(mynode,1,1,"iocards",""); xmlNode* cnode = xml->extFindNode(mynode,1,1,"iocards","");
if( !cnode ) if( !cnode )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildCardsList): Not found <iocards> for node=" << conf->getLocalNodeName() << "(" << conf->getLocalNode() << ")" << endl;
dlog.warn() << myname << "(buildCardsList): Not found <iocards> for node=" << conf->getLocalNodeName() << "(" << conf->getLocalNode() << ")" << endl;
return; return;
} }
UniXML_iterator it(cnode); UniXML_iterator it(cnode);
if( !it.goChildren() ) if( !it.goChildren() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildCardsList): <iocards> empty.." << endl;
dlog.warn() << myname << "(buildCardsList): <iocards> empty.." << endl;
return; return;
} }
...@@ -1635,38 +1561,34 @@ void IOControl::buildCardsList() ...@@ -1635,38 +1561,34 @@ void IOControl::buildCardsList()
if( cardnum <=0 ) if( cardnum <=0 )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(init): Unknown card number?! card=" << it.getIntProp("card") << "(" << cname << ")" << endl;
dlog.level3() << myname << "(init): Unknown card number?! card=" << it.getIntProp("card") << "(" << cname << ")" << endl;
continue; continue;
} }
if( cardnum > maxCardNum ) if( cardnum > maxCardNum )
{ {
if( dlog.is_level3() ) dlog3 << myname << "(init): BAD card number card='" << it.getIntProp("card") << "'(" << cname << "). Must be < " << maxCardNum << endl;
dlog.level3() << myname << "(init): BAD card number card='" << it.getIntProp("card") << "'(" << cname << "). Must be < " << maxCardNum << endl;
continue; continue;
} }
if( it.getIntProp("ignore") ) if( it.getIntProp("ignore") )
{ {
cards[cardnum] = NULL; cards[cardnum] = NULL;
if( dlog.is_level3() ) dlog3 << myname << "(init): card=" << it.getProp("card") << "(" << cname << ")"
dlog.level3() << myname << "(init): card=" << it.getProp("card") << "(" << cname << ")"
<< " DISABLED! ignore=1" << endl; << " DISABLED! ignore=1" << endl;
continue; continue;
} }
stringstream s; stringstream s;
s << "--" << prefix << "-card" << cardnum << "-ignore"; s << "--" << prefix << "-card" << cardnum << "-ignore";
if( findArgParam( s.str(), conf->getArgc(), conf->getArgv()) != -1 ) if( findArgParam( s.str(), conf->getArgc(), conf->getArgv()) != -1 )
{ {
cards[cardnum] = NULL; cards[cardnum] = NULL;
if( dlog.is_level3() ) dlog3 << myname << "(init): card=" << it.getProp("card") << "(" << cname << ")"
dlog.level3() << myname << "(init): card=" << it.getProp("card") << "(" << cname << ")"
<< " DISABLED! (" << s.str() << ")" << endl; << " DISABLED! (" << s.str() << ")" << endl;
continue; continue;
} }
std::string iodev(it.getProp("dev")); std::string iodev(it.getProp("dev"));
...@@ -1674,15 +1596,13 @@ void IOControl::buildCardsList() ...@@ -1674,15 +1596,13 @@ void IOControl::buildCardsList()
if( iodev.empty() || iodev == "/dev/null" ) if( iodev.empty() || iodev == "/dev/null" )
{ {
cards[cardnum] = NULL; cards[cardnum] = NULL;
if( dlog.is_level3() ) dlog3 << myname << "(init): card=" << it.getProp("card") << "(" << cname << ")"
dlog.level3() << myname << "(init): card=" << it.getProp("card") << "(" << cname << ")"
<< " DISABLED! iodev='" << " DISABLED! iodev='"
<< iodev << "'" << endl; << iodev << "'" << endl;
continue; continue;
} }
if( dlog.is_level3() ) dlog3 << myname << "(init): ADD card=" << it.getProp("card") << "(" << cname << ")" << " dev=" << iodev << endl;
dlog.level3() << myname << "(init): ADD card=" << it.getProp("card") << "(" << cname << ")" << " dev=" << iodev << endl;
try try
{ {
...@@ -1691,14 +1611,13 @@ void IOControl::buildCardsList() ...@@ -1691,14 +1611,13 @@ void IOControl::buildCardsList()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(buildCardsList): " << ex << endl;
dlog.crit() << myname << "(buildCardsList): " << ex << endl;
throw; throw;
} }
if( cname == "DI32" ) if( cname == "DI32" )
{ {
} }
else if( cname == "AI16-5A-3" || cname == "AIC123xx" ) else if( cname == "AI16-5A-3" || cname == "AIC123xx" )
{ {
} }
...@@ -1720,11 +1639,10 @@ void IOControl::buildCardsList() ...@@ -1720,11 +1639,10 @@ void IOControl::buildCardsList()
string subdev_name( it.getProp(s.str()) ); string subdev_name( it.getProp(s.str()) );
if( subdev_name.empty() ) if( subdev_name.empty() )
{ {
if( dlog.is_info() ) dinfo << myname << "(buidCardList): empty subdev. ignore... (" << s.str() << ")" << endl;
dlog.info() << myname << "(buidCardList): empty subdev. ignore... (" << s.str() << ")" << endl;
continue; continue;
} }
ComediInterface::SubdevType st = ComediInterface::str2type(subdev_name); ComediInterface::SubdevType st = ComediInterface::str2type(subdev_name);
if( st == ComediInterface::Unknown ) if( st == ComediInterface::Unknown )
{ {
...@@ -1733,19 +1651,17 @@ void IOControl::buildCardsList() ...@@ -1733,19 +1651,17 @@ void IOControl::buildCardsList()
<< " Unknown subdev(" << s.str() << ") type '" << it.getProp(s.str()) << "' for " << cname; << " Unknown subdev(" << s.str() << ") type '" << it.getProp(s.str()) << "' for " << cname;
throw SystemError(err.str()); throw SystemError(err.str());
} }
if( st == ComediInterface::GRAYHILL ) if( st == ComediInterface::GRAYHILL )
{ {
// для Grayhill конфигурирование не требуется // для Grayhill конфигурирование не требуется
if( dlog.is_info() ) dinfo << myname << "(buildCardsList): card=" << it.getProp("card")
dlog.info() << myname << "(buildCardsList): card=" << it.getProp("card")
<< "(" << cname << ")" << "(" << cname << ")"
<< " init subdev" << i << " 'GRAYHILL'" << endl; << " init subdev" << i << " 'GRAYHILL'" << endl;
continue; continue;
} }
if( dlog.is_info() ) dinfo << myname << "(buildCardsList): card=" << it.getProp("card")
dlog.info() << myname << "(buildCardsList): card=" << it.getProp("card")
<< "(" << cname << ")" << "(" << cname << ")"
<< " init subdev" << i << " " << it.getProp(s.str()) << endl; << " init subdev" << i << " " << it.getProp(s.str()) << endl;
cards[cardnum]->configureSubdev(i-1,st); cards[cardnum]->configureSubdev(i-1,st);
......
...@@ -48,7 +48,7 @@ int main(int argc, const char **argv) ...@@ -48,7 +48,7 @@ int main(int argc, const char **argv)
IOControl* ic = IOControl::init_iocontrol(argc,argv,shmID); IOControl* ic = IOControl::init_iocontrol(argc,argv,shmID);
if( !ic ) if( !ic )
{ {
dlog.crit() << "(iocontrol): init не прошёл..." << endl; dcrit << "(iocontrol): init не прошёл..." << endl;
return 1; return 1;
} }
...@@ -69,15 +69,15 @@ int main(int argc, const char **argv) ...@@ -69,15 +69,15 @@ int main(int argc, const char **argv)
} }
catch(SystemError& err) catch(SystemError& err)
{ {
dlog.crit() << "(iocontrol): " << err << endl; dcrit << "(iocontrol): " << err << endl;
} }
catch(Exception& ex) catch(Exception& ex)
{ {
dlog.crit() << "(iocontrol): " << ex << endl; dcrit << "(iocontrol): " << ex << endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(iocontrol): catch(...)" << endl; dcrit << "(iocontrol): catch(...)" << endl;
} }
return 1; return 1;
......
...@@ -35,15 +35,15 @@ void LProcessor::execute( const string& lfile ) ...@@ -35,15 +35,15 @@ void LProcessor::execute( const string& lfile )
} }
catch( LogicException& ex ) catch( LogicException& ex )
{ {
dlog.crit() << logname << "(execute): " << ex << endl; dcrit << logname << "(execute): " << ex << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << logname << "(execute): " << ex << endl; dcrit << logname << "(execute): " << ex << endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << logname << "(execute): catch...\n"; dcrit << logname << "(execute): catch...\n";
} }
msleep(sleepTime); msleep(sleepTime);
} }
...@@ -67,10 +67,10 @@ void LProcessor::build( const string& lfile ) ...@@ -67,10 +67,10 @@ void LProcessor::build( const string& lfile )
UniSetTypes::ObjectId sid = conf->getSensorID(it->name); UniSetTypes::ObjectId sid = conf->getSensorID(it->name);
if( sid == DefaultObjectId ) if( sid == DefaultObjectId )
{ {
dlog.crit() << "НЕ НАЙДЕН ИДЕНТИФИКАТОР ДАТЧИКА: " << it->name << endl; dcrit << "НЕ НАЙДЕН ИДЕНТИФИКАТОР ДАТЧИКА: " << it->name << endl;
continue; continue;
} }
EXTInfo ei; EXTInfo ei;
ei.sid = sid; ei.sid = sid;
ei.state = false; ei.state = false;
...@@ -78,7 +78,7 @@ void LProcessor::build( const string& lfile ) ...@@ -78,7 +78,7 @@ void LProcessor::build( const string& lfile )
ei.iotype = conf->getIOType(sid); ei.iotype = conf->getIOType(sid);
if( ei.iotype == UniversalIO::UnknownIOType ) if( ei.iotype == UniversalIO::UnknownIOType )
{ {
dlog.crit() << "Unkown iotype for sid=" << sid << "(" << it->name << ")" << endl; dcrit << "Unkown iotype for sid=" << sid << "(" << it->name << ")" << endl;
continue; continue;
} }
extInputs.push_front(ei); extInputs.push_front(ei);
...@@ -89,7 +89,7 @@ void LProcessor::build( const string& lfile ) ...@@ -89,7 +89,7 @@ void LProcessor::build( const string& lfile )
UniSetTypes::ObjectId sid = conf->getSensorID(it->name); UniSetTypes::ObjectId sid = conf->getSensorID(it->name);
if( sid == DefaultObjectId ) if( sid == DefaultObjectId )
{ {
dlog.crit() << "НЕ НАЙДЕН ИДЕНТИФИКАТОР ВЫХОДА: " << it->name << endl; dcrit << "НЕ НАЙДЕН ИДЕНТИФИКАТОР ВЫХОДА: " << it->name << endl;
continue; continue;
} }
...@@ -99,9 +99,9 @@ void LProcessor::build( const string& lfile ) ...@@ -99,9 +99,9 @@ void LProcessor::build( const string& lfile )
ei.iotype = conf->getIOType(sid); ei.iotype = conf->getIOType(sid);
if( ei.iotype == UniversalIO::UnknownIOType ) if( ei.iotype == UniversalIO::UnknownIOType )
{ {
dlog.crit() << "Unkown iotype for sid=" << sid << "(" << it->name << ")" << endl; dcrit << "Unkown iotype for sid=" << sid << "(" << it->name << ")" << endl;
continue; continue;
} }
extOuts.push_front(ei); extOuts.push_front(ei);
} }
...@@ -147,11 +147,11 @@ void LProcessor::setOuts() ...@@ -147,11 +147,11 @@ void LProcessor::setOuts()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << "(LProcessor::setOuts): " << ex << endl; dcrit << "(LProcessor::setOuts): " << ex << endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(LProcessor::setOuts): catch...\n"; dcrit << "(LProcessor::setOuts): catch...\n";
} }
} }
} }
......
...@@ -24,8 +24,7 @@ PassiveLProcessor::PassiveLProcessor( std::string lfile, UniSetTypes::ObjectId o ...@@ -24,8 +24,7 @@ PassiveLProcessor::PassiveLProcessor( std::string lfile, UniSetTypes::ObjectId o
{ {
ostringstream err; ostringstream err;
err << myname << ": ID not found ('HeartBeat') for " << heart; err << myname << ": ID not found ('HeartBeat') for " << heart;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -52,10 +51,9 @@ void PassiveLProcessor::step() ...@@ -52,10 +51,9 @@ void PassiveLProcessor::step()
} }
catch(Exception& ex ) catch(Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(step): (hb) " << ex << std::endl;
dlog.crit() << myname << "(step): (hb) " << ex << std::endl;
} }
if( sidHeartBeat!=DefaultObjectId && ptHeartBeat.checkTime() ) if( sidHeartBeat!=DefaultObjectId && ptHeartBeat.checkTime() )
{ {
try try
...@@ -65,8 +63,7 @@ void PassiveLProcessor::step() ...@@ -65,8 +63,7 @@ void PassiveLProcessor::step()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(step): (hb) " << ex << std::endl;
dlog.crit() << myname << "(step): (hb) " << ex << std::endl;
} }
} }
...@@ -86,8 +83,7 @@ void PassiveLProcessor::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -86,8 +83,7 @@ void PassiveLProcessor::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(askSensors): " << ex << endl;
dlog.crit() << myname << "(askSensors): " << ex << endl;
throw SystemError(myname +"(askSensors): do not ask sensors" ); throw SystemError(myname +"(askSensors): do not ask sensors" );
} }
} }
...@@ -115,8 +111,7 @@ void PassiveLProcessor::sysCommand( UniSetTypes::SystemMessage *sm ) ...@@ -115,8 +111,7 @@ void PassiveLProcessor::sysCommand( UniSetTypes::SystemMessage *sm )
{ {
if( !shm->waitSMready(smReadyTimeout) ) if( !shm->waitSMready(smReadyTimeout) )
{ {
if( dlog.is_crit() ) dcrit << myname << "(ERR): SM not ready. Terminated... " << endl;
dlog.crit() << myname << "(ERR): SM not ready. Terminated... " << endl;
raise(SIGTERM); raise(SIGTERM);
return; return;
} }
...@@ -202,11 +197,11 @@ void PassiveLProcessor::setOuts() ...@@ -202,11 +197,11 @@ void PassiveLProcessor::setOuts()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << myname << "(setOuts): " << ex << endl; dcrit << myname << "(setOuts): " << ex << endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << myname << "(setOuts): catch...\n"; dcrit << myname << "(setOuts): catch...\n";
} }
} }
} }
...@@ -221,11 +216,11 @@ void PassiveLProcessor::sigterm( int signo ) ...@@ -221,11 +216,11 @@ void PassiveLProcessor::sigterm( int signo )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << myname << "(sigterm): " << ex << endl; dcrit << myname << "(sigterm): " << ex << endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << myname << "(sigterm): catch...\n"; dcrit << myname << "(sigterm): catch...\n";
} }
} }
} }
...@@ -263,7 +258,7 @@ void PassiveLProcessor::processingMessage( UniSetTypes::VoidMessage* msg ) ...@@ -263,7 +258,7 @@ void PassiveLProcessor::processingMessage( UniSetTypes::VoidMessage* msg )
} }
catch(Exception& ex) catch(Exception& ex)
{ {
dlog.crit() << myname << "(processingMessage): " << ex << endl; dcrit << myname << "(processingMessage): " << ex << endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -110,8 +110,7 @@ void Schema::extlink( const string& name, Element::ElementID childID, int numIn ...@@ -110,8 +110,7 @@ void Schema::extlink( const string& name, Element::ElementID childID, int numIn
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
Element* Schema::manage( Element* el ) Element* Schema::manage( Element* el )
{ {
if( dlog.is_info() ) dinfo << "Schema: manage new element id=" << el->getId()
dlog.info() << "Schema: manage new element id=" << el->getId()
<< " type=" << el->getType() << " type=" << el->getType()
<< " inputs=" << el->inCount() << endl; << " inputs=" << el->inCount() << endl;
......
...@@ -43,13 +43,12 @@ void TAND::setIn( int num, bool state ) ...@@ -43,13 +43,12 @@ void TAND::setIn( int num, bool state )
break; break;
} }
} }
if( !brk ) if( !brk )
myout = true; myout = true;
if( dlog.is_info() ) dinfo << this << ": myout " << myout << endl;
dlog.info() << this << ": myout " << myout << endl;
if( prev != myout ) if( prev != myout )
Element::setChildOut(); Element::setChildOut();
} }
......
...@@ -30,22 +30,20 @@ void TDelay::setIn( int num, bool state ) ...@@ -30,22 +30,20 @@ void TDelay::setIn( int num, bool state )
{ {
pt.setTiming(0); // reset timer pt.setTiming(0); // reset timer
myout = false; myout = false;
if( dlog.is_info() ) dinfo << this << ": set " << myout << endl;
dlog.info() << this << ": set " << myout << endl;
if( prev != myout ) if( prev != myout )
Element::setChildOut(); Element::setChildOut();
return; return;
} }
// if( state ) // if( state )
// выставляем без задержки // выставляем без задержки
if( delay <= 0 ) if( delay <= 0 )
{ {
pt.setTiming(0); // reset timer pt.setTiming(0); // reset timer
myout = true; myout = true;
if( dlog.is_info() ) dinfo << this << ": set " << myout << endl;
dlog.info() << this << ": set " << myout << endl;
if( prev != myout ) if( prev != myout )
Element::setChildOut(); Element::setChildOut();
return; return;
...@@ -54,8 +52,7 @@ void TDelay::setIn( int num, bool state ) ...@@ -54,8 +52,7 @@ void TDelay::setIn( int num, bool state )
// засекаем, если ещё не установлен таймер // засекаем, если ещё не установлен таймер
if( !myout && !prev ) // т.е. !myout && prev != myout if( !myout && !prev ) // т.е. !myout && prev != myout
{ {
if( dlog.is_info() ) dinfo << this << ": set timer " << delay << " [msec]" << endl;
dlog.info() << this << ": set timer " << delay << " [msec]" << endl;
pt.setTiming(delay); pt.setTiming(delay);
} }
} }
...@@ -66,8 +63,7 @@ void TDelay::tick() ...@@ -66,8 +63,7 @@ void TDelay::tick()
{ {
myout = true; myout = true;
pt.setTiming(0); // reset timer pt.setTiming(0); // reset timer
if( dlog.is_info() ) dinfo << getType() << "(" << myid << "): TIMER!!!! myout=" << myout << endl;
dlog.info() << getType() << "(" << myid << "): TIMER!!!! myout=" << myout << endl;
Element::setChildOut(); Element::setChildOut();
} }
} }
......
...@@ -21,10 +21,7 @@ void TNOT::setIn( int num, bool state ) ...@@ -21,10 +21,7 @@ void TNOT::setIn( int num, bool state )
{ {
bool prev = myout; bool prev = myout;
myout = !state; myout = !state;
if( dlog.is_info() )
dlog.info() << this << ": myout " << myout << endl;
if( prev != myout ) if( prev != myout )
Element::setChildOut(); Element::setChildOut();
} }
......
...@@ -51,17 +51,16 @@ void TOR::setIn( int num, bool state ) ...@@ -51,17 +51,16 @@ void TOR::setIn( int num, bool state )
{ {
if( it->state ) if( it->state )
{ {
myout = true; myout = true;
brk = true; brk = true;
break; break;
} }
} }
if( !brk ) if( !brk )
myout = false; myout = false;
if( dlog.is_info() ) dinfo << this << ": myout " << myout << endl;
dlog.info() << this << ": myout " << myout << endl;
if( prev != myout ) if( prev != myout )
Element::setChildOut(); Element::setChildOut();
} }
......
...@@ -29,7 +29,7 @@ int main(int argc, const char **argv) ...@@ -29,7 +29,7 @@ int main(int argc, const char **argv)
string schema = conf->getArgParam("--schema"); string schema = conf->getArgParam("--schema");
if( schema.empty() ) if( schema.empty() )
{ {
dlog.crit() << "schema-file not defined. Use --schema" << endl; dcrit << "schema-file not defined. Use --schema" << endl;
return 1; return 1;
} }
......
...@@ -52,9 +52,8 @@ pollActivated(false) ...@@ -52,9 +52,8 @@ pollActivated(false)
// определяем фильтр // определяем фильтр
s_field = conf->getArgParam("--" + prefix + "-filter-field"); s_field = conf->getArgParam("--" + prefix + "-filter-field");
s_fvalue = conf->getArgParam("--" + prefix + "-filter-value"); s_fvalue = conf->getArgParam("--" + prefix + "-filter-value");
if( dlog.is_info() ) dinfo << myname << "(init): read fileter-field='" << s_field
dlog.info() << myname << "(init): read fileter-field='" << s_field << "' filter-value='" << s_fvalue << "'" << endl;
<< "' filter-value='" << s_fvalue << "'" << endl;
stat_time = conf->getArgPInt("--" + prefix + "-statistic-sec",it.getProp("statistic_sec"),0); stat_time = conf->getArgPInt("--" + prefix + "-statistic-sec",it.getProp("statistic_sec"),0);
if( stat_time > 0 ) if( stat_time > 0 )
...@@ -76,7 +75,7 @@ pollActivated(false) ...@@ -76,7 +75,7 @@ pollActivated(false)
noQueryOptimization = conf->getArgInt("--" + prefix + "-no-query-optimization",it.getProp("no_query_optimization")); noQueryOptimization = conf->getArgInt("--" + prefix + "-no-query-optimization",it.getProp("no_query_optimization"));
mbregFromID = conf->getArgInt("--" + prefix + "-reg-from-id",it.getProp("reg_from_id")); mbregFromID = conf->getArgInt("--" + prefix + "-reg-from-id",it.getProp("reg_from_id"));
dlog.info() << myname << "(init): mbregFromID=" << mbregFromID << endl; dinfo << myname << "(init): mbregFromID=" << mbregFromID << endl;
polltime = conf->getArgPInt("--" + prefix + "-polltime",it.getProp("polltime"), 100); polltime = conf->getArgPInt("--" + prefix + "-polltime",it.getProp("polltime"), 100);
...@@ -97,8 +96,7 @@ pollActivated(false) ...@@ -97,8 +96,7 @@ pollActivated(false)
{ {
ostringstream err; ostringstream err;
err << myname << ": ID not found ('HeartBeat') for " << heart; err << myname << ": ID not found ('HeartBeat') for " << heart;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -118,13 +116,12 @@ pollActivated(false) ...@@ -118,13 +116,12 @@ pollActivated(false)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): test_id unknown. 'TestMode_S' not found..."; err << myname << "(init): test_id unknown. 'TestMode_S' not found...";
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
dlog.info() << myname << "(init): test_id=" << test_id << endl; dinfo << myname << "(init): test_id=" << test_id << endl;
string emode = conf->getArgParam("--" + prefix + "-exchange-mode-id",it.getProp("exchangeModeID")); string emode = conf->getArgParam("--" + prefix + "-exchange-mode-id",it.getProp("exchangeModeID"));
if( !emode.empty() ) if( !emode.empty() )
...@@ -134,8 +131,7 @@ pollActivated(false) ...@@ -134,8 +131,7 @@ pollActivated(false)
{ {
ostringstream err; ostringstream err;
err << myname << ": ID not found ('ExchangeMode') for " << emode; err << myname << ": ID not found ('ExchangeMode') for " << emode;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -200,8 +196,7 @@ void MBExchange::waitSMReady() ...@@ -200,8 +196,7 @@ void MBExchange::waitSMReady()
{ {
ostringstream err; ostringstream err;
err << myname << "(waitSMReady): failed waiting SharedMemory " << ready_timeout << " msec"; err << myname << "(waitSMReady): failed waiting SharedMemory " << ready_timeout << " msec";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -222,8 +217,7 @@ void MBExchange::step() ...@@ -222,8 +217,7 @@ void MBExchange::step()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(step): (hb) " << ex << std::endl;
dlog.crit() << myname << "(step): (hb) " << ex << std::endl;
} }
} }
} }
...@@ -243,8 +237,7 @@ void MBExchange::setProcActive( bool st ) ...@@ -243,8 +237,7 @@ void MBExchange::setProcActive( bool st )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void MBExchange::sigterm( int signo ) void MBExchange::sigterm( int signo )
{ {
if( dlog.is_warn() ) dwarn << myname << ": ********* SIGTERM(" << signo << ") ********" << endl;
dlog.warn() << myname << ": ********* SIGTERM(" << signo << ") ********" << endl;
setProcActive(false); setProcActive(false);
UniSetObject_LT::sigterm(signo); UniSetObject_LT::sigterm(signo);
} }
...@@ -263,8 +256,7 @@ void MBExchange::readConfiguration() ...@@ -263,8 +256,7 @@ void MBExchange::readConfiguration()
UniXML_iterator it(root); UniXML_iterator it(root);
if( !it.goChildren() ) if( !it.goChildren() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readConfiguration): раздел <sensors> не содержит секций ?!!\n";
dlog.crit() << myname << "(readConfiguration): раздел <sensors> не содержит секций ?!!\n";
return; return;
} }
...@@ -273,7 +265,7 @@ void MBExchange::readConfiguration() ...@@ -273,7 +265,7 @@ void MBExchange::readConfiguration()
if( UniSetTypes::check_filter(it,s_field,s_fvalue) ) if( UniSetTypes::check_filter(it,s_field,s_fvalue) )
initItem(it); initItem(it);
} }
// readconf_ok = true; // readconf_ok = true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -326,32 +318,28 @@ bool MBExchange::checkUpdateSM( bool wrFunc, long mdev ) ...@@ -326,32 +318,28 @@ bool MBExchange::checkUpdateSM( bool wrFunc, long mdev )
if( wrFunc ) if( wrFunc )
return true; // данные для посылки, должны обновляться всегда (чтобы быть актуальными) return true; // данные для посылки, должны обновляться всегда (чтобы быть актуальными)
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << "(checkUpdateSM):"
dlog[Debug::LEVEL3] << "(checkUpdateSM):" << " skip... mode='emSkipExchange' " << endl;
<< " skip... mode='emSkipExchange' " << endl;
return false; return false;
} }
if( wrFunc && (exchangeMode == emReadOnly || mdev == emReadOnly) ) if( wrFunc && (exchangeMode == emReadOnly || mdev == emReadOnly) )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << "(checkUpdateSM):"
dlog[Debug::LEVEL3] << "(checkUpdateSM):"
<< " skip... mode='emReadOnly' " << endl; << " skip... mode='emReadOnly' " << endl;
return false; return false;
} }
if( !wrFunc && (exchangeMode == emWriteOnly || mdev == emWriteOnly) ) if( !wrFunc && (exchangeMode == emWriteOnly || mdev == emWriteOnly) )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << "(checkUpdateSM):"
dlog[Debug::LEVEL3] << "(checkUpdateSM):"
<< " skip... mode='emWriteOnly' " << endl; << " skip... mode='emWriteOnly' " << endl;
return false; return false;
} }
if( wrFunc && (exchangeMode == emSkipSaveToSM || mdev == emSkipSaveToSM) ) if( wrFunc && (exchangeMode == emSkipSaveToSM || mdev == emSkipSaveToSM) )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << "(checkUpdateSM):"
dlog[Debug::LEVEL3] << "(checkUpdateSM):"
<< " skip... mode='emSkipSaveToSM' " << endl; << " skip... mode='emSkipSaveToSM' " << endl;
return false; return false;
} }
...@@ -363,16 +351,13 @@ bool MBExchange::checkPoll( bool wrFunc ) ...@@ -363,16 +351,13 @@ bool MBExchange::checkPoll( bool wrFunc )
{ {
if( exchangeMode == emWriteOnly && !wrFunc ) if( exchangeMode == emWriteOnly && !wrFunc )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(checkPoll): skip.. mode='emWriteOnly'" << endl;
dlog[Debug::LEVEL3] << myname << "(checkPoll): skip.. mode='emWriteOnly'" << endl;
return false; return false;
} }
if( exchangeMode == emReadOnly && wrFunc ) if( exchangeMode == emReadOnly && wrFunc )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(checkPoll): skip.. poll mode='emReadOnly'" << endl;
dlog[Debug::LEVEL3] << myname << "(checkPoll): skip.. poll mode='emReadOnly'" << endl;
return false; return false;
} }
...@@ -461,12 +446,12 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m ) ...@@ -461,12 +446,12 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m )
if( noQueryOptimization ) if( noQueryOptimization )
return; return;
dlog.info() << myname << "(rtuQueryOptimization): optimization..." << endl; dinfo << myname << "(rtuQueryOptimization): optimization..." << endl;
for( MBExchange::RTUDeviceMap::iterator it1=m.begin(); it1!=m.end(); ++it1 ) for( MBExchange::RTUDeviceMap::iterator it1=m.begin(); it1!=m.end(); ++it1 )
{ {
RTUDevice* d(it1->second); RTUDevice* d(it1->second);
// Вообще в map они уже лежат в нужном порядке, т.е. функция genRegID() гарантирует // Вообще в map они уже лежат в нужном порядке, т.е. функция genRegID() гарантирует
// что регистры идущие подряд с одниковой функцией чтения/записи получат подряд идущие ID. // что регистры идущие подряд с одниковой функцией чтения/записи получат подряд идущие ID.
// так что оптимтизация это просто нахождение мест где id идут не подряд... // так что оптимтизация это просто нахождение мест где id идут не подряд...
...@@ -498,19 +483,17 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m ) ...@@ -498,19 +483,17 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m )
// check correct function... // check correct function...
if( beg->second->q_count>1 && beg->second->mbfunc==ModbusRTU::fnWriteOutputSingleRegister ) if( beg->second->q_count>1 && beg->second->mbfunc==ModbusRTU::fnWriteOutputSingleRegister )
{ {
if( dlog.is_warn() ) dwarn << myname << "(rtuQueryOptimization): "
dlog.warn() << myname << "(rtuQueryOptimization): "
<< " optimization change func=" << ModbusRTU::fnWriteOutputSingleRegister << " optimization change func=" << ModbusRTU::fnWriteOutputSingleRegister
<< " <--> func=" << ModbusRTU::fnWriteOutputRegisters << " <--> func=" << ModbusRTU::fnWriteOutputRegisters
<< " for mbaddr=" << ModbusRTU::addr2str(d->mbaddr) << " for mbaddr=" << ModbusRTU::addr2str(d->mbaddr)
<< " mbreg=" << ModbusRTU::dat2str(beg->second->mbreg); << " mbreg=" << ModbusRTU::dat2str(beg->second->mbreg);
beg->second->mbfunc = ModbusRTU::fnWriteOutputRegisters; beg->second->mbfunc = ModbusRTU::fnWriteOutputRegisters;
} }
else if( beg->second->q_count>1 && beg->second->mbfunc==ModbusRTU::fnForceSingleCoil ) else if( beg->second->q_count>1 && beg->second->mbfunc==ModbusRTU::fnForceSingleCoil )
{ {
if( dlog.is_warn() ) dwarn << myname << "(rtuQueryOptimization): "
dlog.warn() << myname << "(rtuQueryOptimization): "
<< " optimization change func=" << ModbusRTU::fnForceSingleCoil << " optimization change func=" << ModbusRTU::fnForceSingleCoil
<< " <--> func=" << ModbusRTU::fnForceMultipleCoils << " <--> func=" << ModbusRTU::fnForceMultipleCoils
<< " for mbaddr=" << ModbusRTU::addr2str(d->mbaddr) << " for mbaddr=" << ModbusRTU::addr2str(d->mbaddr)
...@@ -550,12 +533,9 @@ void MBExchange::firstInitRegisters() ...@@ -550,12 +533,9 @@ void MBExchange::firstInitRegisters()
catch( ModbusRTU::mbException& ex ) catch( ModbusRTU::mbException& ex )
{ {
allInitOK = false; allInitOK = false;
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(preInitRead): FAILED ask addr=" << ModbusRTU::addr2str(it->dev->mbaddr)
{
dlog[Debug::LEVEL3] << myname << "(preInitRead): FAILED ask addr=" << ModbusRTU::addr2str(it->dev->mbaddr)
<< " reg=" << ModbusRTU::dat2str(it->mbreg) << " reg=" << ModbusRTU::dat2str(it->mbreg)
<< " err: " << ex << endl; << " err: " << ex << endl;
}
if( !it->dev->ask_every_reg ) if( !it->dev->ask_every_reg )
break; break;
...@@ -571,9 +551,9 @@ bool MBExchange::preInitRead( InitList::iterator& p ) ...@@ -571,9 +551,9 @@ bool MBExchange::preInitRead( InitList::iterator& p )
RTUDevice* dev = p->dev; RTUDevice* dev = p->dev;
int q_count = p->p.rnum; int q_count = p->p.rnum;
if( dlog.debugging(Debug::LEVEL3) ) if( dlog.is_level3() )
{ {
dlog[Debug::LEVEL3] << myname << "(preInitRead): poll " dlog3 << myname << "(preInitRead): poll "
<< " mbaddr=" << ModbusRTU::addr2str(dev->mbaddr) << " mbaddr=" << ModbusRTU::addr2str(dev->mbaddr)
<< " mbreg=" << ModbusRTU::dat2str(p->mbreg) << " mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " mbfunc=" << p->mbfunc << " mbfunc=" << p->mbfunc
...@@ -582,7 +562,7 @@ bool MBExchange::preInitRead( InitList::iterator& p ) ...@@ -582,7 +562,7 @@ bool MBExchange::preInitRead( InitList::iterator& p )
if( q_count > ModbusRTU::MAXDATALEN ) if( q_count > ModbusRTU::MAXDATALEN )
{ {
dlog[Debug::LEVEL3] << myname << "(preInitRead): count(" << q_count dlog3 << myname << "(preInitRead): count(" << q_count
<< ") > MAXDATALEN(" << ModbusRTU::MAXDATALEN << ") > MAXDATALEN(" << ModbusRTU::MAXDATALEN
<< " ..ignore..." << " ..ignore..."
<< endl; << endl;
...@@ -685,8 +665,7 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty ...@@ -685,8 +665,7 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty
return true; return true;
} }
if( dlog.is_crit() ) dcrit << myname << "(initSMValue): IGNORE item: rnum=" << p->rnum
dlog.crit() << myname << "(initSMValue): IGNORE item: rnum=" << p->rnum
<< " > 1 ?!! for id=" << p->si.id << endl; << " > 1 ?!! for id=" << p->si.id << endl;
return false; return false;
...@@ -719,8 +698,7 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty ...@@ -719,8 +698,7 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty
{ {
if( p->nbyte <= 0 || p->nbyte > VTypes::Byte::bsize ) if( p->nbyte <= 0 || p->nbyte > VTypes::Byte::bsize )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initSMValue): IGNORE item: sid=" << ModbusRTU::dat2str(p->si.id)
dlog.crit() << myname << "(initSMValue): IGNORE item: sid=" << ModbusRTU::dat2str(p->si.id)
<< " vtype=" << p->vType << " but nbyte=" << p->nbyte << endl; << " vtype=" << p->vType << " but nbyte=" << p->nbyte << endl;
return false; return false;
} }
...@@ -754,34 +732,28 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty ...@@ -754,34 +732,28 @@ bool MBExchange::initSMValue( ModbusRTU::ModbusData* data, int count, RSProperty
} }
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(initSMValue):(NameNotFound) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(initSMValue):(NameNotFound) " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(initSMValue):(IOBadParam) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(initSMValue):(IOBadParam) " << ex.err << endl;
} }
catch(IONotifyController_i::BadRange ) catch(IONotifyController_i::BadRange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(initSMValue): (BadRange)..." << endl;
dlog[Debug::LEVEL3] << myname << "(initSMValue): (BadRange)..." << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(initSMValue): " << ex << endl;
dlog[Debug::LEVEL3] << myname << "(initSMValue): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(initSMValue): CORBA::SystemException: "
dlog[Debug::LEVEL3] << myname << "(initSMValue): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(initSMValue): catch ..." << endl;
dlog[Debug::LEVEL3] << myname << "(initSMValue): catch ..." << endl;
} }
return false; return false;
...@@ -793,8 +765,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -793,8 +765,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
if( dev->mode == emSkipExchange ) if( dev->mode == emSkipExchange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(pollRTU): SKIP EXCHANGE (mode=emSkipExchange) "
dlog[Debug::LEVEL3] << myname << "(pollRTU): SKIP EXCHANGE (mode=emSkipExchange) "
<< " mbaddr=" << ModbusRTU::addr2str(dev->mbaddr) << " mbaddr=" << ModbusRTU::addr2str(dev->mbaddr)
<< endl; << endl;
return true; return true;
...@@ -802,7 +773,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -802,7 +773,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
if( dlog.debugging(Debug::LEVEL3) ) if( dlog.debugging(Debug::LEVEL3) )
{ {
dlog[Debug::LEVEL3] << myname << "(pollRTU): poll " dlog3 << myname << "(pollRTU): poll "
<< " mbaddr=" << ModbusRTU::addr2str(dev->mbaddr) << " mbaddr=" << ModbusRTU::addr2str(dev->mbaddr)
<< " mbreg=" << ModbusRTU::dat2str(p->mbreg) << " mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " mbfunc=" << p->mbfunc << " mbfunc=" << p->mbfunc
...@@ -811,14 +782,13 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -811,14 +782,13 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
<< " sm_initOK=" << p->sm_initOK << " sm_initOK=" << p->sm_initOK
<< " mbval=" << p->mbval << " mbval=" << p->mbval
<< endl; << endl;
if( p->q_count > ModbusRTU::MAXDATALEN ) if( p->q_count > ModbusRTU::MAXDATALEN )
{ {
dlog[Debug::LEVEL3] << myname << "(pollRTU): count(" << p->q_count dlog3 << myname << "(pollRTU): count(" << p->q_count
<< ") > MAXDATALEN(" << ModbusRTU::MAXDATALEN << ") > MAXDATALEN(" << ModbusRTU::MAXDATALEN
<< " ..ignore..." << " ..ignore..."
<< endl; << endl;
} }
} }
...@@ -827,12 +797,11 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -827,12 +797,11 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
if( p->q_count == 0 ) if( p->q_count == 0 )
{ {
if( dlog.is_info() ) dinfo << myname << "(pollRTU): q_count=0 for mbreg=" << ModbusRTU::dat2str(p->mbreg)
dlog.info() << myname << "(pollRTU): q_count=0 for mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " IGNORE register..." << endl; << " IGNORE register..." << endl;
return false; return false;
} }
switch( p->mbfunc ) switch( p->mbfunc )
{ {
case ModbusRTU::fnReadInputRegisters: case ModbusRTU::fnReadInputRegisters:
...@@ -880,21 +849,19 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -880,21 +849,19 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
it--; it--;
} }
break; break;
case ModbusRTU::fnWriteOutputSingleRegister: case ModbusRTU::fnWriteOutputSingleRegister:
{ {
if( p->q_count != 1 ) if( p->q_count != 1 )
{ {
if( dlog.is_crit() ) dcrit << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
dlog.crit() << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " IGNORE WRITE SINGLE REGISTER (0x06) q_count=" << p->q_count << " ..." << endl; << " IGNORE WRITE SINGLE REGISTER (0x06) q_count=" << p->q_count << " ..." << endl;
return false; return false;
} }
if( !p->sm_initOK ) if( !p->sm_initOK )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
dlog[Debug::LEVEL3] << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " slist=" << (*p) << " slist=" << (*p)
<< " IGNORE...(sm_initOK=false)" << endl; << " IGNORE...(sm_initOK=false)" << endl;
return true; return true;
...@@ -917,20 +884,11 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -917,20 +884,11 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
// и его просто надо пропустить.. // и его просто надо пропустить..
if( p->q_num > 1 ) if( p->q_num > 1 )
return true; return true;
// смещаем итератор, если данный запрос содержит много регистров dlog3 << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
// if( q->count > 1 )
// {
// for( int i=0; i<p->q_count; i++ )
// it++;
// return true;
// }
if( dlog.debugging(Debug::LEVEL3) )
dlog[Debug::LEVEL3] << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " IGNORE...(sm_initOK=false)" << endl; << " IGNORE...(sm_initOK=false)" << endl;
return true; return true;
} }
ModbusRTU::WriteOutputMessage msg(dev->mbaddr,p->mbreg); ModbusRTU::WriteOutputMessage msg(dev->mbaddr,p->mbreg);
for( int i=0; i<p->q_count; i++,it++ ) for( int i=0; i<p->q_count; i++,it++ )
...@@ -945,20 +903,17 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -945,20 +903,17 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
{ {
if( p->q_count != 1 ) if( p->q_count != 1 )
{ {
if( dlog.is_crit() ) dcrit << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
dlog.crit() << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " IGNORE FORCE SINGLE COIL (0x05) q_count=" << p->q_count << " ..." << endl; << " IGNORE FORCE SINGLE COIL (0x05) q_count=" << p->q_count << " ..." << endl;
return false; return false;
} }
if( !p->sm_initOK ) if( !p->sm_initOK )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
dlog[Debug::LEVEL3] << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " IGNORE...(sm_initOK=false)" << endl; << " IGNORE...(sm_initOK=false)" << endl;
return true; return true;
} }
// cerr << "****(coil) mbreg=" << ModbusRTU::dat2str(p->mbreg) << " val=" << ModbusRTU::dat2str(p->mbval) << endl;
ModbusRTU::ForceSingleCoilRetMessage ret = mb->write05(dev->mbaddr,p->mbreg,p->mbval); ModbusRTU::ForceSingleCoilRetMessage ret = mb->write05(dev->mbaddr,p->mbreg,p->mbval);
} }
break; break;
...@@ -967,32 +922,29 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it ) ...@@ -967,32 +922,29 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
{ {
if( !p->sm_initOK ) if( !p->sm_initOK )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
dlog[Debug::LEVEL3] << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " IGNORE...(sm_initOK=false)" << endl; << " IGNORE...(sm_initOK=false)" << endl;
return true; return true;
} }
ModbusRTU::ForceCoilsMessage msg(dev->mbaddr,p->mbreg); ModbusRTU::ForceCoilsMessage msg(dev->mbaddr,p->mbreg);
for( int i=0; i<p->q_count; i++,it++ ) for( int i=0; i<p->q_count; i++,it++ )
msg.addBit( (it->second->mbval ? true : false) ); msg.addBit( (it->second->mbval ? true : false) );
it--; it--;
// cerr << "*********** (write multiple): " << msg << endl;
ModbusRTU::ForceCoilsRetMessage ret = mb->write0F(msg); ModbusRTU::ForceCoilsRetMessage ret = mb->write0F(msg);
} }
break; break;
default: default:
{ {
if( dlog.is_warn() ) dwarn << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
dlog.warn() << myname << "(pollRTU): mbreg=" << ModbusRTU::dat2str(p->mbreg)
<< " IGNORE mfunc=" << (int)p->mbfunc << " ..." << endl; << " IGNORE mfunc=" << (int)p->mbfunc << " ..." << endl;
return false; return false;
} }
break; break;
} }
return true; return true;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -1011,34 +963,28 @@ void MBExchange::updateSM() ...@@ -1011,34 +963,28 @@ void MBExchange::updateSM()
} }
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM):(NameNotFound) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM):(NameNotFound) " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM):(IOBadParam) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM):(IOBadParam) " << ex.err << endl;
} }
catch(IONotifyController_i::BadRange ) catch(IONotifyController_i::BadRange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): (BadRange)..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM): (BadRange)..." << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): " << ex << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): CORBA::SystemException: "
dlog[Debug::LEVEL3] << myname << "(updateSM): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): check modeSensor..catch ..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM): check modeSensor..catch ..." << endl;
} }
} }
...@@ -1060,36 +1006,30 @@ void MBExchange::updateSM() ...@@ -1060,36 +1006,30 @@ void MBExchange::updateSM()
} }
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM):(NameNotFound) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM):(NameNotFound) " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM):(IOBadParam) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM):(IOBadParam) " << ex.err << endl;
} }
catch(IONotifyController_i::BadRange ) catch(IONotifyController_i::BadRange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): (BadRange)..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM): (BadRange)..." << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): " << ex << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): CORBA::SystemException: "
dlog[Debug::LEVEL3] << myname << "(updateSM): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateSM): catch ..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateSM): catch ..." << endl;
} }
if( it==d->regmap.end() ) if( it==d->regmap.end() )
break; break;
} }
...@@ -1123,8 +1063,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only ) ...@@ -1123,8 +1063,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
if( save && !r->mb_initOK ) if( save && !r->mb_initOK )
return; return;
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << "updateP: sid=" << p->si.id
dlog[Debug::LEVEL3] << "updateP: sid=" << p->si.id
<< " mbval=" << r->mbval << " mbval=" << r->mbval
<< " vtype=" << p->vType << " vtype=" << p->vType
<< " rnum=" << p->rnum << " rnum=" << p->rnum
...@@ -1192,8 +1131,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only ) ...@@ -1192,8 +1131,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
return; return;
} }
if( dlog.is_crit() ) dcrit << myname << "(updateRSProperty): IGNORE item: rnum=" << p->rnum
dlog.crit() << myname << "(updateRSProperty): IGNORE item: rnum=" << p->rnum
<< " > 1 ?!! for id=" << p->si.id << endl; << " > 1 ?!! for id=" << p->si.id << endl;
return; return;
} }
...@@ -1263,8 +1201,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only ) ...@@ -1263,8 +1201,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
{ {
if( p->nbyte <= 0 || p->nbyte > VTypes::Byte::bsize ) if( p->nbyte <= 0 || p->nbyte > VTypes::Byte::bsize )
{ {
if( dlog.is_crit() ) dcrit << myname << "(updateRSProperty): IGNORE item: reg=" << ModbusRTU::dat2str(r->mbreg)
dlog.crit() << myname << "(updateRSProperty): IGNORE item: reg=" << ModbusRTU::dat2str(r->mbreg)
<< " vtype=" << p->vType << " but nbyte=" << p->nbyte << endl; << " vtype=" << p->vType << " but nbyte=" << p->nbyte << endl;
return; return;
} }
...@@ -1387,10 +1324,10 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only ) ...@@ -1387,10 +1324,10 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::U2::wsize()]; ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::U2::wsize()];
for( int k=0; k<VTypes::U2::wsize(); k++, i++ ) for( int k=0; k<VTypes::U2::wsize(); k++, i++ )
data[k] = i->second->mbval; data[k] = i->second->mbval;
VTypes::U2 u2(data,VTypes::U2::wsize()); VTypes::U2 u2(data,VTypes::U2::wsize());
delete[] data; delete[] data;
IOBase::processingAsAI( p, (unsigned int)u2, shm, force ); IOBase::processingAsAI( p, (unsigned int)u2, shm, force );
} }
} }
...@@ -1399,34 +1336,28 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only ) ...@@ -1399,34 +1336,28 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
} }
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRSProperty):(NameNotFound) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateRSProperty):(NameNotFound) " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRSProperty):(IOBadParam) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateRSProperty):(IOBadParam) " << ex.err << endl;
} }
catch(IONotifyController_i::BadRange ) catch(IONotifyController_i::BadRange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRSProperty): (BadRange)..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateRSProperty): (BadRange)..." << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRSProperty): " << ex << endl;
dlog[Debug::LEVEL3] << myname << "(updateRSProperty): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRSProperty): CORBA::SystemException: "
dlog[Debug::LEVEL3] << myname << "(updateRSProperty): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRSProperty): catch ..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateRSProperty): catch ..." << endl;
} }
// Если SM стала (или была) недоступна // Если SM стала (или была) недоступна
...@@ -1492,21 +1423,20 @@ void MBExchange::updateMTR( RegMap::iterator& rit ) ...@@ -1492,21 +1423,20 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[MTR::T3::wsize()]; ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[MTR::T3::wsize()];
for( int k=0; k<MTR::T3::wsize(); k++, i++ ) for( int k=0; k<MTR::T3::wsize(); k++, i++ )
data[k] = i->second->mbval; data[k] = i->second->mbval;
MTR::T3 t(data,MTR::T3::wsize()); MTR::T3 t(data,MTR::T3::wsize());
delete[] data; delete[] data;
IOBase::processingAsAI( &(*it), (long)t, shm, force ); IOBase::processingAsAI( &(*it), (long)t, shm, force );
} }
continue; continue;
} }
if( r->mtrType == MTR::mtT4 ) if( r->mtrType == MTR::mtT4 )
{ {
if( save ) if( save )
{ {
if( dlog.is_warn() ) dwarn << myname << "(updateMTR): write (T4) reg(" << dat2str(r->mbreg) << ") to MTR NOT YET!!!" << endl;
dlog.warn() << myname << "(updateMTR): write (T4) reg(" << dat2str(r->mbreg) << ") to MTR NOT YET!!!" << endl; }
}
else else
{ {
MTR::T4 t(r->mbval); MTR::T4 t(r->mbval);
...@@ -1514,7 +1444,7 @@ void MBExchange::updateMTR( RegMap::iterator& rit ) ...@@ -1514,7 +1444,7 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
} }
continue; continue;
} }
if( r->mtrType == MTR::mtT5 ) if( r->mtrType == MTR::mtT5 )
{ {
RegMap::iterator i(rit); RegMap::iterator i(rit);
...@@ -1629,10 +1559,10 @@ void MBExchange::updateMTR( RegMap::iterator& rit ) ...@@ -1629,10 +1559,10 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[MTR::F1::wsize()]; ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[MTR::F1::wsize()];
for( int k=0; k<MTR::F1::wsize(); k++, i++ ) for( int k=0; k<MTR::F1::wsize(); k++, i++ )
data[k] = i->second->mbval; data[k] = i->second->mbval;
MTR::F1 t(data,MTR::F1::wsize()); MTR::F1 t(data,MTR::F1::wsize());
delete[] data; delete[] data;
IOBase::processingFasAI( &(*it), (float)t, shm, force ); IOBase::processingFasAI( &(*it), (float)t, shm, force );
} }
continue; continue;
...@@ -1640,34 +1570,28 @@ void MBExchange::updateMTR( RegMap::iterator& rit ) ...@@ -1640,34 +1570,28 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
} }
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateMTR):(NameNotFound) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateMTR):(NameNotFound) " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateMTR):(IOBadParam) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateMTR):(IOBadParam) " << ex.err << endl;
} }
catch(IONotifyController_i::BadRange ) catch(IONotifyController_i::BadRange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateMTR): (BadRange)..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateMTR): (BadRange)..." << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateMTR): " << ex << endl;
dlog[Debug::LEVEL3] << myname << "(updateMTR): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateMTR): CORBA::SystemException: "
dlog[Debug::LEVEL3] << myname << "(updateMTR): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateMTR): catch ..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateMTR): catch ..." << endl;
} }
} }
} }
...@@ -1687,39 +1611,34 @@ void MBExchange::updateRTU188( RegMap::iterator& rit ) ...@@ -1687,39 +1611,34 @@ void MBExchange::updateRTU188( RegMap::iterator& rit )
// не реализованы // не реализованы
if( isWriteFunction(r->mbfunc) ) if( isWriteFunction(r->mbfunc) )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188): write reg(" << dat2str(r->mbreg) << ") to RTU188 NOT YET!!!" << endl;
dlog[Debug::LEVEL3] << myname << "(updateRTU188): write reg(" << dat2str(r->mbreg) << ") to RTU188 NOT YET!!!" << endl;
return; return;
} }
if( exchangeMode == emSkipExchange || r->dev->mode == emSkipExchange ) if( exchangeMode == emSkipExchange || r->dev->mode == emSkipExchange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188):"
dlog[Debug::LEVEL3] << myname << "(updateRTU188):"
<< " skip... mode=emSkipExchange " << endl; << " skip... mode=emSkipExchange " << endl;
return; return;
} }
if( save && (exchangeMode == emReadOnly || r->dev->mode == emReadOnly) ) if( save && (exchangeMode == emReadOnly || r->dev->mode == emReadOnly) )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188):"
dlog[Debug::LEVEL3] << myname << "(updateRTU188):"
<< " skip... mode=emReadOnly " << endl; << " skip... mode=emReadOnly " << endl;
return; return;
} }
if( !save && ( exchangeMode == emWriteOnly || r->dev->mode == emWriteOnly) ) if( !save && ( exchangeMode == emWriteOnly || r->dev->mode == emWriteOnly) )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188):"
dlog[Debug::LEVEL3] << myname << "(updateRTU188):"
<< " skip... mode=emWriteOnly " << endl; << " skip... mode=emWriteOnly " << endl;
return; return;
} }
if( save && ( exchangeMode == emSkipSaveToSM || r->dev->mode == emSkipSaveToSM) ) if( save && ( exchangeMode == emSkipSaveToSM || r->dev->mode == emSkipSaveToSM) )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRT188):"
dlog[Debug::LEVEL3] << myname << "(updateRT188):"
<< " skip... mode=emSkipSaveToSM " << endl; << " skip... mode=emSkipSaveToSM " << endl;
return; return;
} }
...@@ -1741,34 +1660,28 @@ void MBExchange::updateRTU188( RegMap::iterator& rit ) ...@@ -1741,34 +1660,28 @@ void MBExchange::updateRTU188( RegMap::iterator& rit )
} }
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188):(NameNotFound) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateRTU188):(NameNotFound) " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188):(IOBadParam) " << ex.err << endl;
dlog[Debug::LEVEL3] << myname << "(updateRTU188):(IOBadParam) " << ex.err << endl;
} }
catch(IONotifyController_i::BadRange ) catch(IONotifyController_i::BadRange )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188): (BadRange)..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateRTU188): (BadRange)..." << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188): " << ex << endl;
dlog[Debug::LEVEL3] << myname << "(updateRTU188): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188): CORBA::SystemException: "
dlog[Debug::LEVEL3] << myname << "(updateRTU188): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(updateRTU188): catch ..." << endl;
dlog[Debug::LEVEL3] << myname << "(updateRTU188): catch ..." << endl;
} }
} }
} }
...@@ -1782,16 +1695,14 @@ MBExchange::RTUDevice* MBExchange::addDev( RTUDeviceMap& mp, ModbusRTU::ModbusAd ...@@ -1782,16 +1695,14 @@ MBExchange::RTUDevice* MBExchange::addDev( RTUDeviceMap& mp, ModbusRTU::ModbusAd
DeviceType dtype = getDeviceType(xmlit.getProp(prop_prefix + "mbtype")); DeviceType dtype = getDeviceType(xmlit.getProp(prop_prefix + "mbtype"));
if( it->second->dtype != dtype ) if( it->second->dtype != dtype )
{ {
if( dlog.is_crit() ) dcrit << myname << "(addDev): OTHER mbtype=" << dtype << " for " << xmlit.getProp("name")
dlog.crit() << myname << "(addDev): OTHER mbtype=" << dtype << " for " << xmlit.getProp("name")
<< ". Already used devtype=" << it->second->dtype << ". Already used devtype=" << it->second->dtype
<< " for mbaddr=" << ModbusRTU::addr2str(it->second->mbaddr) << " for mbaddr=" << ModbusRTU::addr2str(it->second->mbaddr)
<< endl; << endl;
return 0; return 0;
} }
if( dlog.is_info() ) dcrit << myname << "(addDev): device for addr=" << ModbusRTU::addr2str(a)
dlog.info() << myname << "(addDev): device for addr=" << ModbusRTU::addr2str(a)
<< " already added. Ignore device params for " << xmlit.getProp("name") << " ..." << endl; << " already added. Ignore device params for " << xmlit.getProp("name") << " ..." << endl;
return it->second; return it->second;
} }
...@@ -1818,26 +1729,23 @@ MBExchange::RegInfo* MBExchange::addReg( RegMap& mp, RegID id, ModbusRTU::Modbus ...@@ -1818,26 +1729,23 @@ MBExchange::RegInfo* MBExchange::addReg( RegMap& mp, RegID id, ModbusRTU::Modbus
{ {
if( !it->second->dev ) if( !it->second->dev )
{ {
dlog.crit() << myname << "(addReg): for " << xmlit.getProp("name") dcrit << myname << "(addReg): for " << xmlit.getProp("name")
<< " dev=0!!!! " << endl; << " dev=0!!!! " << endl;
return 0; return 0;
} }
if( it->second->dev->dtype != dev->dtype ) if( it->second->dev->dtype != dev->dtype )
{ {
if( dlog.is_crit() ) dcrit << myname << "(addReg): OTHER mbtype=" << dev->dtype << " for " << xmlit.getProp("name")
dlog.crit() << myname << "(addReg): OTHER mbtype=" << dev->dtype << " for " << xmlit.getProp("name")
<< ". Already used devtype=" << it->second->dev->dtype << " for " << it->second->dev << endl; << ". Already used devtype=" << it->second->dev->dtype << " for " << it->second->dev << endl;
return 0; return 0;
} }
if( dlog.is_info() ) dinfo << myname << "(addReg): reg=" << ModbusRTU::dat2str(r)
{
dlog.info() << myname << "(addReg): reg=" << ModbusRTU::dat2str(r)
<< "(id=" << id << ")" << "(id=" << id << ")"
<< " already added for " << (*it->second) << " already added for " << (*it->second)
<< " Ignore register params for " << xmlit.getProp("name") << " ..." << endl; << " Ignore register params for " << xmlit.getProp("name") << " ..." << endl;
}
it->second->rit = it; it->second->rit = it;
return it->second; return it->second;
...@@ -1904,8 +1812,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it ) ...@@ -1904,8 +1812,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it )
p.stype = UniSetTypes::getIOType(stype); p.stype = UniSetTypes::getIOType(stype);
if( p.stype == UniversalIO::UnknownIOType ) if( p.stype == UniversalIO::UnknownIOType )
{ {
if( dlog.is_crit() ) dcrit << myname << "(IOBase::readItem): неизвестный iotype=: "
dlog.crit() << myname << "(IOBase::readItem): неизвестный iotype=: "
<< stype << " for " << it.getProp("name") << endl; << stype << " for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -1917,8 +1824,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it ) ...@@ -1917,8 +1824,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it )
p.nbit = UniSetTypes::uni_atoi(sbit.c_str()); p.nbit = UniSetTypes::uni_atoi(sbit.c_str());
if( p.nbit < 0 || p.nbit >= ModbusRTU::BitsPerData ) if( p.nbit < 0 || p.nbit >= ModbusRTU::BitsPerData )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initRSProperty): BAD nbit=" << p.nbit
dlog.crit() << myname << "(initRSProperty): BAD nbit=" << p.nbit
<< ". (0 >= nbit < " << ModbusRTU::BitsPerData <<")." << endl; << ". (0 >= nbit < " << ModbusRTU::BitsPerData <<")." << endl;
return false; return false;
} }
...@@ -1928,8 +1834,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it ) ...@@ -1928,8 +1834,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it )
( p.stype == UniversalIO::AI || ( p.stype == UniversalIO::AI ||
p.stype == UniversalIO::AO ) ) p.stype == UniversalIO::AO ) )
{ {
if( dlog.is_warn() ) dwarn << "(initRSProperty): (ignore) uncorrect param`s nbit>1 (" << p.nbit << ")"
dlog.warn() << "(initRSProperty): (ignore) uncorrect param`s nbit>1 (" << p.nbit << ")"
<< " but iotype=" << p.stype << " for " << it.getProp("name") << endl; << " but iotype=" << p.stype << " for " << it.getProp("name") << endl;
} }
...@@ -1939,8 +1844,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it ) ...@@ -1939,8 +1844,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it )
p.nbyte = UniSetTypes::uni_atoi(sbyte.c_str()); p.nbyte = UniSetTypes::uni_atoi(sbyte.c_str());
if( p.nbyte < 0 || p.nbyte > VTypes::Byte::bsize ) if( p.nbyte < 0 || p.nbyte > VTypes::Byte::bsize )
{ {
if( dlog.is_crit() ) dwarn << myname << "(initRSProperty): BAD nbyte=" << p.nbyte
dlog.crit() << myname << "(initRSProperty): BAD nbyte=" << p.nbyte
<< ". (0 >= nbyte < " << VTypes::Byte::bsize << ")." << endl; << ". (0 >= nbyte < " << VTypes::Byte::bsize << ")." << endl;
return false; return false;
} }
...@@ -1957,8 +1861,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it ) ...@@ -1957,8 +1861,7 @@ bool MBExchange::initRSProperty( RSProperty& p, UniXML_iterator& it )
VTypes::VType v(VTypes::str2type(vt)); VTypes::VType v(VTypes::str2type(vt));
if( v == VTypes::vtUnknown ) if( v == VTypes::vtUnknown )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initRSProperty): Unknown tcp_vtype='" << vt << "' for "
dlog.crit() << myname << "(initRSProperty): Unknown tcp_vtype='" << vt << "' for "
<< it.getProp("name") << it.getProp("name")
<< endl; << endl;
...@@ -2004,12 +1907,11 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML_iterator& it, MBExchange::RTUD ...@@ -2004,12 +1907,11 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML_iterator& it, MBExchange::RTUD
} }
else else
{ {
if( dlog.is_crit() ) dcrit << myname << "(initRegInfo): Unknown mbtype='" << dev->dtype
dlog.crit() << myname << "(initRegInfo): Unknown mbtype='" << dev->dtype
<< "' for " << it.getProp("name") << endl; << "' for " << it.getProp("name") << endl;
return false; return false;
} }
if( mbregFromID ) if( mbregFromID )
{ {
if( it.getProp("id").empty() ) if( it.getProp("id").empty() )
...@@ -2022,8 +1924,7 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML_iterator& it, MBExchange::RTUD ...@@ -2022,8 +1924,7 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML_iterator& it, MBExchange::RTUD
string sr = it.getProp(prop_prefix + "mbreg"); string sr = it.getProp(prop_prefix + "mbreg");
if( sr.empty() ) if( sr.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): Unknown 'mbreg' for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initItem): Unknown 'mbreg' for " << it.getProp("name") << endl;
return false; return false;
} }
r->mbreg = ModbusRTU::str2mbData(sr); r->mbreg = ModbusRTU::str2mbData(sr);
...@@ -2036,8 +1937,7 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML_iterator& it, MBExchange::RTUD ...@@ -2036,8 +1937,7 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML_iterator& it, MBExchange::RTUD
r->mbfunc = (ModbusRTU::SlaveFunctionCode)UniSetTypes::uni_atoi(f.c_str()); r->mbfunc = (ModbusRTU::SlaveFunctionCode)UniSetTypes::uni_atoi(f.c_str());
if( r->mbfunc == ModbusRTU::fnUnknown ) if( r->mbfunc == ModbusRTU::fnUnknown )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initRegInfo): Unknown mbfunc ='" << f
dlog.crit() << myname << "(initRegInfo): Unknown mbfunc ='" << f
<< "' for " << it.getProp("name") << endl; << "' for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -2052,8 +1952,7 @@ bool MBExchange::initRTUDevice( RTUDevice* d, UniXML_iterator& it ) ...@@ -2052,8 +1952,7 @@ bool MBExchange::initRTUDevice( RTUDevice* d, UniXML_iterator& it )
if( d->dtype == dtUnknown ) if( d->dtype == dtUnknown )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initRTUDevice): Unknown tcp_mbtype=" << it.getProp(prop_prefix + "mbtype")
dlog.crit() << myname << "(initRTUDevice): Unknown tcp_mbtype=" << it.getProp(prop_prefix + "mbtype")
<< ". Use: rtu " << ". Use: rtu "
<< " for " << it.getProp("name") << endl; << " for " << it.getProp("name") << endl;
return false; return false;
...@@ -2062,8 +1961,7 @@ bool MBExchange::initRTUDevice( RTUDevice* d, UniXML_iterator& it ) ...@@ -2062,8 +1961,7 @@ bool MBExchange::initRTUDevice( RTUDevice* d, UniXML_iterator& it )
string addr = it.getProp(prop_prefix + "mbaddr"); string addr = it.getProp(prop_prefix + "mbaddr");
if( addr.empty() ) if( addr.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initRTUDevice): Unknown mbaddr for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initRTUDevice): Unknown mbaddr for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -2087,8 +1985,7 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2087,8 +1985,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
string addr(it.getProp(prop_prefix + "mbaddr")); string addr(it.getProp(prop_prefix + "mbaddr"));
if( addr.empty() ) if( addr.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): Unknown mbaddr(" << prop_prefix << "mbaddr)='" << addr << "' for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initItem): Unknown mbaddr(" << prop_prefix << "mbaddr)='" << addr << "' for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -2097,8 +1994,7 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2097,8 +1994,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
RTUDevice* dev = addDev(rmap,mbaddr,it); RTUDevice* dev = addDev(rmap,mbaddr,it);
if( !dev ) if( !dev )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): " << it.getProp("name") << " CAN`T ADD for polling!" << endl;
dlog.crit() << myname << "(initItem): " << it.getProp("name") << " CAN`T ADD for polling!" << endl;
return false; return false;
} }
...@@ -2110,8 +2006,7 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2110,8 +2006,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
RegInfo r_tmp; RegInfo r_tmp;
if( !initRTU188item(it, &r_tmp) ) if( !initRTU188item(it, &r_tmp) )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): init RTU188 failed for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initItem): init RTU188 failed for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -2126,9 +2021,8 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2126,9 +2021,8 @@ bool MBExchange::initItem( UniXML_iterator& it )
{ {
string reg = it.getProp(prop_prefix + "mbreg"); string reg = it.getProp(prop_prefix + "mbreg");
if( reg.empty() ) if( reg.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): unknown mbreg(" << prop_prefix << ") for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initItem): unknown mbreg(" << prop_prefix << ") for " << it.getProp("name") << endl;
return false; return false;
} }
mbreg = ModbusRTU::str2mbData(reg); mbreg = ModbusRTU::str2mbData(reg);
...@@ -2148,12 +2042,11 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2148,12 +2042,11 @@ bool MBExchange::initItem( UniXML_iterator& it )
p.rnum = MTR::wsize(ri->mtrType); p.rnum = MTR::wsize(ri->mtrType);
if( p.rnum <= 0 ) if( p.rnum <= 0 )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): unknown word size for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initItem): unknown word size for " << it.getProp("name") << endl;
return false; return false;
} }
} }
if( !ri ) if( !ri )
return false; return false;
...@@ -2173,22 +2066,20 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2173,22 +2066,20 @@ bool MBExchange::initItem( UniXML_iterator& it )
{ {
if( p.nbit<0 && ri->slst.size() > 1 ) if( p.nbit<0 && ri->slst.size() > 1 )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): FAILED! Sharing SAVE (not bit saving) to "
dlog.crit() << myname << "(initItem): FAILED! Sharing SAVE (not bit saving) to "
<< " tcp_mbreg=" << ModbusRTU::dat2str(ri->mbreg) << " tcp_mbreg=" << ModbusRTU::dat2str(ri->mbreg)
<< " for " << it.getProp("name") << endl; << " for " << it.getProp("name") << endl;
abort(); // ABORT PROGRAM!!!! abort(); // ABORT PROGRAM!!!!
return false; return false;
} }
if( p.nbit >= 0 && ri->slst.size() == 1 ) if( p.nbit >= 0 && ri->slst.size() == 1 )
{ {
PList::iterator it2 = ri->slst.begin(); PList::iterator it2 = ri->slst.begin();
if( it2->nbit < 0 ) if( it2->nbit < 0 )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): FAILED! Sharing SAVE (mbreg="
dlog.crit() << myname << "(initItem): FAILED! Sharing SAVE (mbreg="
<< ModbusRTU::dat2str(ri->mbreg) << " already used)!" << ModbusRTU::dat2str(ri->mbreg) << " already used)!"
<< " IGNORE --> " << it.getProp("name") << endl; << " IGNORE --> " << it.getProp("name") << endl;
abort(); // ABORT PROGRAM!!!! abort(); // ABORT PROGRAM!!!!
...@@ -2237,8 +2128,7 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2237,8 +2128,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
if( ri->mbfunc != ModbusRTU::fnWriteOutputRegisters && if( ri->mbfunc != ModbusRTU::fnWriteOutputRegisters &&
ri->mbfunc != ModbusRTU::fnForceMultipleCoils ) ri->mbfunc != ModbusRTU::fnForceMultipleCoils )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): Bad write function ='" << ModbusRTU::fnWriteOutputSingleRegister
dlog.crit() << myname << "(initItem): Bad write function ='" << ModbusRTU::fnWriteOutputSingleRegister
<< "' for vtype='" << p1->vType << "'" << "' for vtype='" << p1->vType << "'"
<< " tcp_mbreg=" << ModbusRTU::dat2str(ri->mbreg) << " tcp_mbreg=" << ModbusRTU::dat2str(ri->mbreg)
<< " for " << it.getProp("name") << endl; << " for " << it.getProp("name") << endl;
...@@ -2271,8 +2161,7 @@ bool MBExchange::initItem( UniXML_iterator& it ) ...@@ -2271,8 +2161,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
ii.mbfunc = (ModbusRTU::SlaveFunctionCode)UniSetTypes::uni_atoi(s_mbfunc); ii.mbfunc = (ModbusRTU::SlaveFunctionCode)UniSetTypes::uni_atoi(s_mbfunc);
if( ii.mbfunc == ModbusRTU::fnUnknown ) if( ii.mbfunc == ModbusRTU::fnUnknown )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): Unknown tcp_init_mbfunc ='" << s_mbfunc
dlog.crit() << myname << "(initItem): Unknown tcp_init_mbfunc ='" << s_mbfunc
<< "' for " << it.getProp("name") << endl; << "' for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -2316,8 +2205,7 @@ bool MBExchange::initMTRitem( UniXML_iterator& it, RegInfo* p ) ...@@ -2316,8 +2205,7 @@ bool MBExchange::initMTRitem( UniXML_iterator& it, RegInfo* p )
p->mtrType = MTR::str2type(it.getProp(prop_prefix + "mtrtype")); p->mtrType = MTR::str2type(it.getProp(prop_prefix + "mtrtype"));
if( p->mtrType == MTR::mtUnknown ) if( p->mtrType == MTR::mtUnknown )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readMTRItem): Unknown mtrtype '"
dlog.crit() << myname << "(readMTRItem): Unknown mtrtype '"
<< it.getProp(prop_prefix + "mtrtype") << it.getProp(prop_prefix + "mtrtype")
<< "' for " << it.getProp("name") << endl; << "' for " << it.getProp("name") << endl;
...@@ -2334,32 +2222,28 @@ bool MBExchange::initRTU188item( UniXML_iterator& it, RegInfo* p ) ...@@ -2334,32 +2222,28 @@ bool MBExchange::initRTU188item( UniXML_iterator& it, RegInfo* p )
if( jack.empty() ) if( jack.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readRTU188Item): Unknown " << prop_prefix << "jack='' "
dlog.crit() << myname << "(readRTU188Item): Unknown " << prop_prefix << "jack='' "
<< " for " << it.getProp("name") << endl; << " for " << it.getProp("name") << endl;
return false; return false;
} }
p->rtuJack = RTUStorage::s2j(jack); p->rtuJack = RTUStorage::s2j(jack);
if( p->rtuJack == RTUStorage::nUnknown ) if( p->rtuJack == RTUStorage::nUnknown )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readRTU188Item): Unknown " << prop_prefix << "jack=" << jack
dlog.crit() << myname << "(readRTU188Item): Unknown " << prop_prefix << "jack=" << jack
<< " for " << it.getProp("name") << endl; << " for " << it.getProp("name") << endl;
return false; return false;
} }
if( chan.empty() ) if( chan.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readRTU188Item): Unknown channel='' "
dlog.crit() << myname << "(readRTU188Item): Unknown channel='' "
<< " for " << it.getProp("name") << endl; << " for " << it.getProp("name") << endl;
return false; return false;
} }
p->rtuChan = UniSetTypes::uni_atoi(chan); p->rtuChan = UniSetTypes::uni_atoi(chan);
if( dlog.debugging(Debug::LEVEL2) ) dlog2 << myname << "(readRTU188Item): add jack='" << jack << "'"
dlog[Debug::LEVEL2] << myname << "(readRTU188Item): add jack='" << jack << "'"
<< " channel='" << p->rtuChan << "'" << endl; << " channel='" << p->rtuChan << "'" << endl;
return true; return true;
...@@ -2427,11 +2311,11 @@ void MBExchange::initDeviceList() ...@@ -2427,11 +2311,11 @@ void MBExchange::initDeviceList()
initDeviceInfo(rmap,a,it1); initDeviceInfo(rmap,a,it1);
} }
} }
else if( dlog.is_warn() ) else
dlog.warn() << myname << "(init): <DeviceList> empty section..." << endl; dwarn << myname << "(init): <DeviceList> empty section..." << endl;
} }
else if( dlog.is_warn() ) else
dlog.warn() << myname << "(init): <DeviceList> not found..." << endl; dwarn << myname << "(init): <DeviceList> not found..." << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXML_iterator& it ) bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXML_iterator& it )
...@@ -2439,15 +2323,13 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM ...@@ -2439,15 +2323,13 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM
RTUDeviceMap::iterator d = m.find(a); RTUDeviceMap::iterator d = m.find(a);
if( d == m.end() ) if( d == m.end() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(initDeviceInfo): not found device for addr=" << ModbusRTU::addr2str(a) << endl;
dlog.warn() << myname << "(initDeviceInfo): not found device for addr=" << ModbusRTU::addr2str(a) << endl;
return false; return false;
} }
d->second->ask_every_reg = it.getIntProp("ask_every_reg"); d->second->ask_every_reg = it.getIntProp("ask_every_reg");
if( dlog.is_info() ) dinfo << myname << "(initDeviceInfo): add addr=" << ModbusRTU::addr2str(a)
dlog.info() << myname << "(initDeviceInfo): add addr=" << ModbusRTU::addr2str(a)
<< " ask_every_reg=" << d->second->ask_every_reg << endl; << " ask_every_reg=" << d->second->ask_every_reg << endl;
string s(it.getProp("respondSensor")); string s(it.getProp("respondSensor"));
...@@ -2456,8 +2338,7 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM ...@@ -2456,8 +2338,7 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM
d->second->resp_id = conf->getSensorID(s); d->second->resp_id = conf->getSensorID(s);
if( d->second->resp_id == DefaultObjectId ) if( d->second->resp_id == DefaultObjectId )
{ {
if( dlog.is_crit() ) dinfo << myname << "(initDeviceInfo): not found ID for respondSensor=" << s << endl;
dlog.crit() << myname << "(initDeviceInfo): not found ID for respondSensor=" << s << endl;
return false; return false;
} }
} }
...@@ -2468,22 +2349,19 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM ...@@ -2468,22 +2349,19 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM
d->second->mode_id = conf->getSensorID(mod); d->second->mode_id = conf->getSensorID(mod);
if( d->second->mode_id == DefaultObjectId ) if( d->second->mode_id == DefaultObjectId )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initDeviceInfo): not found ID for modeSensor=" << mod << endl;
dlog.crit() << myname << "(initDeviceInfo): not found ID for modeSensor=" << mod << endl;
return false; return false;
} }
UniversalIO::IOType m_iotype = conf->getIOType(d->second->mode_id); UniversalIO::IOType m_iotype = conf->getIOType(d->second->mode_id);
if( m_iotype != UniversalIO::AI ) if( m_iotype != UniversalIO::AI )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initDeviceInfo): modeSensor='" << mod << "' must be 'AI'" << endl;
dlog.crit() << myname << "(initDeviceInfo): modeSensor='" << mod << "' must be 'AI'" << endl;
return false; return false;
} }
} }
if( dlog.is_info() ) dinfo << myname << "(initDeviceInfo): add addr=" << ModbusRTU::addr2str(a) << endl;
dlog.info() << myname << "(initDeviceInfo): add addr=" << ModbusRTU::addr2str(a) << endl;
int tout = it.getPIntProp("timeout",5000); int tout = it.getPIntProp("timeout",5000);
d->second->resp_ptTimeout.setTiming(tout); d->second->resp_ptTimeout.setTiming(tout);
d->second->resp_invert = it.getIntProp("invert"); d->second->resp_invert = it.getIntProp("invert");
...@@ -2541,19 +2419,16 @@ void MBExchange::processingMessage(UniSetTypes::VoidMessage *msg) ...@@ -2541,19 +2419,16 @@ void MBExchange::processingMessage(UniSetTypes::VoidMessage *msg)
} }
catch( SystemError& ex ) catch( SystemError& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(SystemError): " << ex << std::endl;
dlog.crit() << myname << "(SystemError): " << ex << std::endl;
// throw SystemError(ex); // throw SystemError(ex);
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): " << ex << std::endl;
dlog.crit() << myname << "(processingMessage): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): catch ...\n";
dlog.crit() << myname << "(processingMessage): catch ...\n";
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -2565,18 +2440,16 @@ void MBExchange::sysCommand( UniSetTypes::SystemMessage *sm ) ...@@ -2565,18 +2440,16 @@ void MBExchange::sysCommand( UniSetTypes::SystemMessage *sm )
{ {
if( rmap.empty() ) if( rmap.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(sysCommand): ************* ITEM MAP EMPTY! terminated... *************" << endl;
dlog.crit() << myname << "(sysCommand): ************* ITEM MAP EMPTY! terminated... *************" << endl;
raise(SIGTERM); raise(SIGTERM);
return; return;
} }
if( dlog.is_info() ) dinfo << myname << "(sysCommand): device map size= " << rmap.size() << endl;
dlog.info() << myname << "(sysCommand): device map size= " << rmap.size() << endl;
if( !shm->isLocalwork() ) if( !shm->isLocalwork() )
initDeviceList(); initDeviceList();
waitSMReady(); waitSMReady();
// подождать пока пройдёт инициализация датчиков // подождать пока пройдёт инициализация датчиков
...@@ -2590,10 +2463,9 @@ void MBExchange::sysCommand( UniSetTypes::SystemMessage *sm ) ...@@ -2590,10 +2463,9 @@ void MBExchange::sysCommand( UniSetTypes::SystemMessage *sm )
if( activated ) if( activated )
break; break;
} }
if( !activated && dlog.debugging(Debug::CRIT) ) if( !activated )
dlog.crit() << myname << "(sysCommand): ************* don`t activate?! ************" << endl; dcrit << myname << "(sysCommand): ************* don`t activate?! ************" << endl;
{ {
UniSetTypes::uniset_rwmutex_rlock l(mutex_start); UniSetTypes::uniset_rwmutex_rlock l(mutex_start);
askSensors(UniversalIO::UIONotify); askSensors(UniversalIO::UIONotify);
...@@ -2672,7 +2544,7 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -2672,7 +2544,7 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd )
<< "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение " << "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение "
<< activateTimeout << " мсек"; << activateTimeout << " мсек";
dlog.crit() << err.str() << endl; dcrit << err.str() << endl;
kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс... kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -2684,13 +2556,11 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -2684,13 +2556,11 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(askSensors): " << ex << std::endl;
dlog.warn() << myname << "(askSensors): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_warn() ) dwarn << myname << "(askSensors): 'sidExchangeMode' catch..." << std::endl;
dlog.warn() << myname << "(askSensors): 'sidExchangeMode' catch..." << std::endl;
} }
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 ) for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
...@@ -2704,13 +2574,11 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -2704,13 +2574,11 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(askSensors): " << ex << std::endl;
dlog.warn() << myname << "(askSensors): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_warn() ) dwarn << myname << "(askSensors): (mode_id=" << d->mode_id << ").. catch..." << std::endl;
dlog.warn() << myname << "(askSensors): (mode_id=" << d->mode_id << ").. catch..." << std::endl;
} }
if( force_out ) if( force_out )
...@@ -2729,13 +2597,11 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -2729,13 +2597,11 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(askSensors): " << ex << std::endl;
dlog.warn() << myname << "(askSensors): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_warn() ) dwarn << myname << "(askSensors): id=" << i->si.id << " catch..." << std::endl;
dlog.warn() << myname << "(askSensors): id=" << i->si.id << " catch..." << std::endl;
} }
} }
} }
...@@ -2747,8 +2613,7 @@ void MBExchange::sensorInfo( UniSetTypes::SensorMessage* sm ) ...@@ -2747,8 +2613,7 @@ void MBExchange::sensorInfo( UniSetTypes::SensorMessage* sm )
if( sm->id == sidExchangeMode ) if( sm->id == sidExchangeMode )
{ {
exchangeMode = sm->value; exchangeMode = sm->value;
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(sensorInfo): exchange MODE=" << sm->value << std::endl;
dlog[Debug::LEVEL3] << myname << "(sensorInfo): exchange MODE=" << sm->value << std::endl;
//return; // этот датчик может встречаться и в списке обмена.. поэтому делать return нельзя. //return; // этот датчик может встречаться и в списке обмена.. поэтому делать return нельзя.
} }
...@@ -2771,13 +2636,10 @@ void MBExchange::sensorInfo( UniSetTypes::SensorMessage* sm ) ...@@ -2771,13 +2636,10 @@ void MBExchange::sensorInfo( UniSetTypes::SensorMessage* sm )
{ {
if( sm->id == i->si.id && sm->node == i->si.node ) if( sm->id == i->si.id && sm->node == i->si.node )
{ {
if( dlog.is_info() ) dinfo << myname<< "(sensorInfo): si.id=" << sm->id
{
dlog.info() << myname<< "(sensorInfo): si.id=" << sm->id
<< " reg=" << ModbusRTU::dat2str(i->reg->mbreg) << " reg=" << ModbusRTU::dat2str(i->reg->mbreg)
<< " val=" << sm->value << " val=" << sm->value
<< " mb_initOK=" << i->reg->mb_initOK << endl; << " mb_initOK=" << i->reg->mb_initOK << endl;
}
if( !i->reg->mb_initOK ) if( !i->reg->mb_initOK )
continue; continue;
...@@ -2846,8 +2708,7 @@ void MBExchange::poll() ...@@ -2846,8 +2708,7 @@ void MBExchange::poll()
if( d->mode_id != DefaultObjectId && d->mode == emSkipExchange ) if( d->mode_id != DefaultObjectId && d->mode == emSkipExchange )
continue; continue;
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(poll): ask addr=" << ModbusRTU::addr2str(d->mbaddr)
dlog[Debug::LEVEL3] << myname << "(poll): ask addr=" << ModbusRTU::addr2str(d->mbaddr)
<< " regs=" << d->regmap.size() << endl; << " regs=" << d->regmap.size() << endl;
d->resp_real = false; d->resp_real = false;
...@@ -2855,7 +2716,7 @@ void MBExchange::poll() ...@@ -2855,7 +2716,7 @@ void MBExchange::poll()
{ {
if( !checkProcActive() ) if( !checkProcActive() )
return; return;
try try
{ {
if( d->dtype==MBExchange::dtRTU || d->dtype==MBExchange::dtMTR ) if( d->dtype==MBExchange::dtRTU || d->dtype==MBExchange::dtMTR )
...@@ -2868,14 +2729,10 @@ void MBExchange::poll() ...@@ -2868,14 +2729,10 @@ void MBExchange::poll()
{ {
// if( d->resp_real ) // if( d->resp_real )
// { // {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(poll): FAILED ask addr=" << ModbusRTU::addr2str(d->mbaddr)
{
dlog[Debug::LEVEL3] << myname << "(poll): FAILED ask addr=" << ModbusRTU::addr2str(d->mbaddr)
<< " reg=" << ModbusRTU::dat2str(it->second->mbreg) << " reg=" << ModbusRTU::dat2str(it->second->mbreg)
<< " for sensors: "; print_plist(dlog(Debug::LEVEL3),it->second->slst); << " for sensors: "; print_plist(dlog(Debug::LEVEL3),it->second->slst)
dlog(Debug::LEVEL3) << " err: " << ex << endl; << endl << " err: " << ex << endl;
}
// }
// d->resp_real = false; // d->resp_real = false;
if( ex.err == ModbusRTU::erTimeOut && !d->ask_every_reg ) if( ex.err == ModbusRTU::erTimeOut && !d->ask_every_reg )
...@@ -2939,8 +2796,7 @@ void MBExchange::poll() ...@@ -2939,8 +2796,7 @@ void MBExchange::poll()
if( allNotRespond && ptReopen.checkTime() ) if( allNotRespond && ptReopen.checkTime() )
{ {
uniset_mutex_lock l(pollMutex, 300); uniset_mutex_lock l(pollMutex, 300);
if( dlog.is_warn() ) dwarn << myname << ": REOPEN timeout..(" << ptReopen.getInterval() << ")" << endl;
dlog.warn() << myname << ": REOPEN timeout..(" << ptReopen.getInterval() << ")" << endl;
mb = initMB(true); mb = initMB(true);
ptReopen.reset(); ptReopen.reset();
...@@ -2994,15 +2850,12 @@ void MBExchange::updateRespondSensors() ...@@ -2994,15 +2850,12 @@ void MBExchange::updateRespondSensors()
if( chanTimeout ) if( chanTimeout )
it1->second->resp_real = false; it1->second->resp_real = false;
if( dlog.debugging(Debug::LEVEL4) ) dlog4 << myname << ": check respond addr=" << ModbusRTU::addr2str(d->mbaddr)
{
dlog[Debug::LEVEL4] << myname << ": check respond addr=" << ModbusRTU::addr2str(d->mbaddr)
<< " respond_id=" << d->resp_id << " respond_id=" << d->resp_id
<< " real=" << d->resp_real << " real=" << d->resp_real
<< " state=" << d->resp_state << " state=" << d->resp_state
<< endl; << endl;
}
if( d->checkRespond() && d->resp_id != DefaultObjectId ) if( d->checkRespond() && d->resp_id != DefaultObjectId )
{ {
...@@ -3013,8 +2866,7 @@ void MBExchange::updateRespondSensors() ...@@ -3013,8 +2866,7 @@ void MBExchange::updateRespondSensors()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(step): (respond) " << ex << std::endl;
dlog.crit() << myname << "(step): (respond) " << ex << std::endl;
} }
} }
} }
...@@ -3040,13 +2892,11 @@ void MBExchange::execute() ...@@ -3040,13 +2892,11 @@ void MBExchange::execute()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(execute): " << ex << std::endl;
dlog.crit() << myname << "(execute): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_crit() ) dcrit << myname << "(execute): catch ..." << endl;
dlog.crit() << myname << "(execute): catch ..." << endl;
} }
msleep(polltime); msleep(polltime);
......
...@@ -38,7 +38,7 @@ pollThread(0) ...@@ -38,7 +38,7 @@ pollThread(0)
prop_prefix = ""; prop_prefix = "";
} }
dlog.info() << myname << "(init): prop_prefix=" << prop_prefix << endl; dinfo << myname << "(init): prop_prefix=" << prop_prefix << endl;
UniXML_iterator it(cnode); UniXML_iterator it(cnode);
...@@ -55,7 +55,7 @@ pollThread(0) ...@@ -55,7 +55,7 @@ pollThread(0)
force_disconnect = conf->getArgInt("--" + prefix + "-persistent-connection",it.getProp("persistent_connection")) ? false : true; force_disconnect = conf->getArgInt("--" + prefix + "-persistent-connection",it.getProp("persistent_connection")) ? false : true;
dlog.info() << myname << "(init): persisten-connection=" << (!force_disconnect) << endl; dinfo << myname << "(init): persisten-connection=" << (!force_disconnect) << endl;
if( shm->isLocalwork() ) if( shm->isLocalwork() )
{ {
...@@ -103,19 +103,17 @@ ModbusClient* MBTCPMaster::initMB( bool reopen ) ...@@ -103,19 +103,17 @@ ModbusClient* MBTCPMaster::initMB( bool reopen )
mbtcp->setTimeout(recv_timeout); mbtcp->setTimeout(recv_timeout);
mbtcp->setSleepPause(sleepPause_usec); mbtcp->setSleepPause(sleepPause_usec);
mbtcp->setAfterSendPause(aftersend_pause); mbtcp->setAfterSendPause(aftersend_pause);
if( dlog.is_info() ) dinfo << myname << "(init): ipaddr=" << iaddr << " port=" << port << endl;
dlog.info() << myname << "(init): ipaddr=" << iaddr << " port=" << port << endl;
if( dlog.is_level9() )
if( dlog.debugging(Debug::LEVEL9) )
mbtcp->setLog(dlog); mbtcp->setLog(dlog);
} }
catch( ModbusRTU::mbException& ex ) catch( ModbusRTU::mbException& ex )
{ {
if( dlog.is_warn() ) dwarn << "(init): " << ex << endl;
dlog.warn() << "(init): " << ex << endl;
} }
catch(...) catch(...)
{ {
...@@ -182,23 +180,20 @@ MBTCPMaster* MBTCPMaster::init_mbmaster( int argc, const char* const* argv, ...@@ -182,23 +180,20 @@ MBTCPMaster* MBTCPMaster::init_mbmaster( int argc, const char* const* argv,
string name = conf->getArgParam("--" + prefix + "-name","MBTCPMaster1"); string name = conf->getArgParam("--" + prefix + "-name","MBTCPMaster1");
if( name.empty() ) if( name.empty() )
{ {
if( dlog.debugging(Debug::CRIT) ) dcrit << "(MBTCPMaster): Не задан name'" << endl;
dlog.crit() << "(MBTCPMaster): Не задан name'" << endl;
return 0; return 0;
} }
ObjectId ID = conf->getObjectID(name); ObjectId ID = conf->getObjectID(name);
if( ID == UniSetTypes::DefaultObjectId ) if( ID == UniSetTypes::DefaultObjectId )
{ {
if( dlog.debugging(Debug::CRIT) ) dcrit << "(MBTCPMaster): идентификатор '" << name
dlog.crit() << "(MBTCPMaster): идентификатор '" << name
<< "' не найден в конф. файле!" << "' не найден в конф. файле!"
<< " в секции " << conf->getObjectsSection() << endl; << " в секции " << conf->getObjectsSection() << endl;
return 0; return 0;
} }
if( dlog.is_info() ) dinfo << "(MBTCPMaster): name = " << name << "(" << ID << ")" << endl;
dlog.info() << "(MBTCPMaster): name = " << name << "(" << ID << ")" << endl;
return new MBTCPMaster(ID,icID,ic,prefix); return new MBTCPMaster(ID,icID,ic,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -40,8 +40,7 @@ checkThread(0) ...@@ -40,8 +40,7 @@ checkThread(0)
prop_prefix = ""; prop_prefix = "";
} }
if( dlog.is_info() ) dinfo << myname << "(init): prop_prefix=" << prop_prefix << endl;
dlog.info() << myname << "(init): prop_prefix=" << prop_prefix << endl;
UniXML_iterator it(cnode); UniXML_iterator it(cnode);
...@@ -53,8 +52,7 @@ checkThread(0) ...@@ -53,8 +52,7 @@ checkThread(0)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): not found <GateList>"; err << myname << "(init): not found <GateList>";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
...@@ -62,8 +60,7 @@ checkThread(0) ...@@ -62,8 +60,7 @@ checkThread(0)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): empty <GateList> ?!"; err << myname << "(init): empty <GateList> ?!";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
...@@ -75,8 +72,7 @@ checkThread(0) ...@@ -75,8 +72,7 @@ checkThread(0)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): ip='' in <GateList>"; err << myname << "(init): ip='' in <GateList>";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
...@@ -85,8 +81,7 @@ checkThread(0) ...@@ -85,8 +81,7 @@ checkThread(0)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): ERROR: port=''" << sinf.port << " for ip='" << sinf.ip << "' in <GateList>"; err << myname << "(init): ERROR: port=''" << sinf.port << " for ip='" << sinf.ip << "' in <GateList>";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
...@@ -97,8 +92,7 @@ checkThread(0) ...@@ -97,8 +92,7 @@ checkThread(0)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): ERROR: Unknown SensorID for '" << it1.getProp("respond") << "' in <GateList>"; err << myname << "(init): ERROR: Unknown SensorID for '" << it1.getProp("respond") << "' in <GateList>";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
} }
...@@ -117,21 +111,19 @@ checkThread(0) ...@@ -117,21 +111,19 @@ checkThread(0)
n << sinf.ip << ":" << sinf.port; n << sinf.ip << ":" << sinf.port;
sinf.myname = n.str(); sinf.myname = n.str();
if( dlog.debugging(Debug::LEVEL9) ) if( dlog.is_level9() )
sinf.mbtcp->setLog(dlog); sinf.mbtcp->setLog(dlog);
mblist.push_back(sinf); mblist.push_back(sinf);
if( dlog.is_info() ) dinfo << myname << "(init): add slave channel " << sinf.myname << endl;
dlog.info() << myname << "(init): add slave channel " << sinf.myname << endl;
} }
if( mblist.empty() ) if( mblist.empty() )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): empty <GateList>!"; err << myname << "(init): empty <GateList>!";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
...@@ -234,8 +226,7 @@ bool MBTCPMultiMaster::MBSlaveInfo::init() ...@@ -234,8 +226,7 @@ bool MBTCPMultiMaster::MBSlaveInfo::init()
{ {
// ost::Thread::setException(ost::Thread::throwException); // ost::Thread::setException(ost::Thread::throwException);
if( dlog.is_info() ) dinfo << myname << "(init): connect..." << endl;
dlog.info() << myname << "(init): connect..." << endl;
mbtcp->connect(ip,port); mbtcp->connect(ip,port);
mbtcp->setForceDisconnect(force_disconnect); mbtcp->setForceDisconnect(force_disconnect);
...@@ -248,22 +239,20 @@ bool MBTCPMultiMaster::MBSlaveInfo::init() ...@@ -248,22 +239,20 @@ bool MBTCPMultiMaster::MBSlaveInfo::init()
mbtcp->setSleepPause(sleepPause_usec); mbtcp->setSleepPause(sleepPause_usec);
mbtcp->setAfterSendPause(aftersend_pause); mbtcp->setAfterSendPause(aftersend_pause);
if( mbtcp->isConnection() && dlog.is_info() ) if( mbtcp->isConnection() )
dlog.info() << "(init): " << myname << " connect OK" << endl; dinfo << "(init): " << myname << " connect OK" << endl;
initOK = true; initOK = true;
} }
return mbtcp->isConnection(); return mbtcp->isConnection();
} }
catch( ModbusRTU::mbException& ex ) catch( ModbusRTU::mbException& ex )
{ {
if( dlog.is_warn() ) dwarn << "(init): " << ex << endl;
dlog.warn() << "(init): " << ex << endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_warn() ) dwarn << "(init): " << myname << " catch ..." << endl;
dlog.warn() << "(init): " << myname << " catch ..." << endl;
} }
initOK = false; initOK = false;
...@@ -318,8 +307,7 @@ void MBTCPMultiMaster::check_thread() ...@@ -318,8 +307,7 @@ void MBTCPMultiMaster::check_thread()
try try
{ {
bool r = it->check(); bool r = it->check();
if( dlog.is_info() ) dinfo << myname << "(check): " << it->myname << " " << ( r ? "OK" : "FAIL" ) << endl;
dlog.info() << myname << "(check): " << it->myname << " " << ( r ? "OK" : "FAIL" ) << endl;
try try
{ {
...@@ -331,8 +319,7 @@ void MBTCPMultiMaster::check_thread() ...@@ -331,8 +319,7 @@ void MBTCPMultiMaster::check_thread()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.debugging(Debug::CRIT) ) dcrit << myname << "(check): (respond) " << ex << std::endl;
dlog.crit() << myname << "(check): (respond) " << ex << std::endl;
} }
catch(...){} catch(...){}
...@@ -382,20 +369,20 @@ MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const* ...@@ -382,20 +369,20 @@ MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const*
string name = conf->getArgParam("--" + prefix + "-name","MBTCPMultiMaster1"); string name = conf->getArgParam("--" + prefix + "-name","MBTCPMultiMaster1");
if( name.empty() ) if( name.empty() )
{ {
dlog.crit() << "(MBTCPMultiMaster): Не задан name'" << endl; dcrit << "(MBTCPMultiMaster): Не задан name'" << endl;
return 0; return 0;
} }
ObjectId ID = conf->getObjectID(name); ObjectId ID = conf->getObjectID(name);
if( ID == UniSetTypes::DefaultObjectId ) if( ID == UniSetTypes::DefaultObjectId )
{ {
dlog.crit() << "(MBTCPMultiMaster): идентификатор '" << name dcrit << "(MBTCPMultiMaster): идентификатор '" << name
<< "' не найден в конф. файле!" << "' не найден в конф. файле!"
<< " в секции " << conf->getObjectsSection() << endl; << " в секции " << conf->getObjectsSection() << endl;
return 0; return 0;
} }
dlog.info() << "(MBTCPMultiMaster): name = " << name << "(" << ID << ")" << endl; dinfo << "(MBTCPMultiMaster): name = " << name << "(" << ID << ")" << endl;
return new MBTCPMultiMaster(ID,icID,ic,prefix); return new MBTCPMultiMaster(ID,icID,ic,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -38,7 +38,7 @@ rs_pre_clean(false) ...@@ -38,7 +38,7 @@ rs_pre_clean(false)
prop_prefix = ""; prop_prefix = "";
} }
dlog.info() << myname << "(init): prop_prefix=" << prop_prefix << endl; dinfo << myname << "(init): prop_prefix=" << prop_prefix << endl;
UniXML_iterator it(cnode); UniXML_iterator it(cnode);
...@@ -126,27 +126,27 @@ ModbusClient* RTUExchange::initMB( bool reopen ) ...@@ -126,27 +126,27 @@ ModbusClient* RTUExchange::initMB( bool reopen )
if( recv_timeout > 0 ) if( recv_timeout > 0 )
mbrtu->setTimeout(recv_timeout); mbrtu->setTimeout(recv_timeout);
mbrtu->setSleepPause(sleepPause_usec); mbrtu->setSleepPause(sleepPause_usec);
mbrtu->setAfterSendPause(aftersend_pause); mbrtu->setAfterSendPause(aftersend_pause);
dlog.info() << myname << "(init): dev=" << devname << " speed=" << ComPort::getSpeed( mbrtu->getSpeed() ) << endl; dinfo << myname << "(init): dev=" << devname << " speed=" << ComPort::getSpeed( mbrtu->getSpeed() ) << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( mbrtu ) if( mbrtu )
delete mbrtu; delete mbrtu;
mbrtu = 0; mbrtu = 0;
dlog.warn() << myname << "(init): " << ex << endl; dwarn << myname << "(init): " << ex << endl;
} }
catch(...) catch(...)
{ {
if( mbrtu ) if( mbrtu )
delete mbrtu; delete mbrtu;
mbrtu = 0; mbrtu = 0;
dlog.info() << myname << "(init): catch...." << endl; dinfo << myname << "(init): catch...." << endl;
} }
mb = mbrtu; mb = mbrtu;
...@@ -217,18 +217,15 @@ void RTUExchange::poll() ...@@ -217,18 +217,15 @@ void RTUExchange::poll()
s = d->speed; s = d->speed;
mbrtu->setSpeed(d->speed); mbrtu->setSpeed(d->speed);
} }
if( d->dtype == MBExchange::dtRTU188 ) if( d->dtype == MBExchange::dtRTU188 )
{ {
if( !d->rtu ) if( !d->rtu )
continue; continue;
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(pollRTU188): poll RTU188 "
{
dlog[Debug::LEVEL3] << myname << "(pollRTU188): poll RTU188 "
<< " mbaddr=" << ModbusRTU::addr2str(d->mbaddr) << " mbaddr=" << ModbusRTU::addr2str(d->mbaddr)
<< endl; << endl;
}
try try
{ {
...@@ -242,19 +239,15 @@ void RTUExchange::poll() ...@@ -242,19 +239,15 @@ void RTUExchange::poll()
{ {
if( d->resp_real ) if( d->resp_real )
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(poll): FAILED ask addr=" << ModbusRTU::addr2str(d->mbaddr)
{
dlog.crit() << myname << "(poll): FAILED ask addr=" << ModbusRTU::addr2str(d->mbaddr)
<< " -> " << ex << endl; << " -> " << ex << endl;
}
d->resp_real = false; d->resp_real = false;
} }
} }
} }
else else
{ {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(poll): ask addr=" << ModbusRTU::addr2str(d->mbaddr)
dlog[Debug::LEVEL3] << myname << "(poll): ask addr=" << ModbusRTU::addr2str(d->mbaddr)
<< " regs=" << d->regmap.size() << endl; << " regs=" << d->regmap.size() << endl;
d->resp_real = false; d->resp_real = false;
...@@ -274,13 +267,11 @@ void RTUExchange::poll() ...@@ -274,13 +267,11 @@ void RTUExchange::poll()
{ {
// if( d->resp_real ) // if( d->resp_real )
// { // {
if( dlog.debugging(Debug::LEVEL3) ) dlog3 << myname << "(poll): FAILED ask addr=" << ModbusRTU::addr2str(d->mbaddr)
{
dlog[Debug::LEVEL3] << myname << "(poll): FAILED ask addr=" << ModbusRTU::addr2str(d->mbaddr)
<< " reg=" << ModbusRTU::dat2str(it->second->mbreg) << " reg=" << ModbusRTU::dat2str(it->second->mbreg)
<< " for sensors: "; print_plist(dlog(Debug::LEVEL3), it->second->slst); << " for sensors: "; print_plist(dlog(Debug::LEVEL3), it->second->slst);
dlog(Debug::LEVEL3) << " err: " << ex << endl; dlog(Debug::LEVEL3) << " err: " << ex << endl;
}
// d->resp_real = false; // d->resp_real = false;
// } // }
} }
...@@ -318,8 +309,7 @@ void RTUExchange::poll() ...@@ -318,8 +309,7 @@ void RTUExchange::poll()
if( allNotRespond && ptReopen.checkTime() ) if( allNotRespond && ptReopen.checkTime() )
{ {
uniset_mutex_lock l(pollMutex, 300); uniset_mutex_lock l(pollMutex, 300);
if( dlog.is_warn() ) dwarn << myname << ": REOPEN timeout..(" << ptReopen.getInterval() << ")" << endl;
dlog.warn() << myname << ": REOPEN timeout..(" << ptReopen.getInterval() << ")" << endl;
mb = initMB(true); mb = initMB(true);
ptReopen.reset(); ptReopen.reset();
...@@ -347,7 +337,7 @@ RTUExchange* RTUExchange::init_rtuexchange( int argc, const char* const* argv, U ...@@ -347,7 +337,7 @@ RTUExchange* RTUExchange::init_rtuexchange( int argc, const char* const* argv, U
return 0; return 0;
} }
dlog.info() << "(rtuexchange): name = " << name << "(" << ID << ")" << endl; dinfo << "(rtuexchange): name = " << name << "(" << ID << ")" << endl;
return new RTUExchange(ID,icID,ic,prefix); return new RTUExchange(ID,icID,ic,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -359,7 +349,7 @@ bool RTUExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX ...@@ -359,7 +349,7 @@ bool RTUExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX
RTUDeviceMap::iterator d = m.find(a); RTUDeviceMap::iterator d = m.find(a);
if( d == m.end() ) if( d == m.end() )
{ {
dlog.warn() << myname << "(initDeviceInfo): not found device for addr=" << ModbusRTU::addr2str(a) << endl; dwarn << myname << "(initDeviceInfo): not found device for addr=" << ModbusRTU::addr2str(a) << endl;
return false; return false;
} }
...@@ -370,7 +360,7 @@ bool RTUExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX ...@@ -370,7 +360,7 @@ bool RTUExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX
if( d->second->speed == ComPort::ComSpeed0 ) if( d->second->speed == ComPort::ComSpeed0 )
{ {
d->second->speed = defSpeed; d->second->speed = defSpeed;
dlog.crit() << myname << "(initDeviceInfo): Unknown speed=" << s << dcrit << myname << "(initDeviceInfo): Unknown speed=" << s <<
" for addr=" << ModbusRTU::addr2str(a) << endl; " for addr=" << ModbusRTU::addr2str(a) << endl;
return false; return false;
} }
......
...@@ -55,7 +55,7 @@ int main( int argc, const char** argv ) ...@@ -55,7 +55,7 @@ int main( int argc, const char** argv )
MBTCPMaster* mb = MBTCPMaster::init_mbmaster(argc,argv,shmID); MBTCPMaster* mb = MBTCPMaster::init_mbmaster(argc,argv,shmID);
if( !mb ) if( !mb )
{ {
dlog.crit() << "(mbmaster): init MBTCPMaster failed." << endl; dcrit << "(mbmaster): init MBTCPMaster failed." << endl;
return 1; return 1;
} }
...@@ -75,11 +75,11 @@ int main( int argc, const char** argv ) ...@@ -75,11 +75,11 @@ int main( int argc, const char** argv )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << "(mbtcpmaster): " << ex << std::endl; dcrit << "(mbtcpmaster): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(mbtcpmaster): catch ..." << std::endl; dcrit << "(mbtcpmaster): catch ..." << std::endl;
} }
while( waitpid(-1, 0, 0) > 0 ); while( waitpid(-1, 0, 0) > 0 );
......
...@@ -55,7 +55,7 @@ int main( int argc, const char** argv ) ...@@ -55,7 +55,7 @@ int main( int argc, const char** argv )
MBTCPMultiMaster* mb = MBTCPMultiMaster::init_mbmaster(argc,argv,shmID); MBTCPMultiMaster* mb = MBTCPMultiMaster::init_mbmaster(argc,argv,shmID);
if( !mb ) if( !mb )
{ {
dlog.crit() << "(mbmaster): init MBTCPMaster failed." << endl; dcrit << "(mbmaster): init MBTCPMaster failed." << endl;
return 1; return 1;
} }
...@@ -77,11 +77,11 @@ int main( int argc, const char** argv ) ...@@ -77,11 +77,11 @@ int main( int argc, const char** argv )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << "(mbtcpmultimaster): " << ex << std::endl; dcrit << "(mbtcpmultimaster): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(mbtcpmultimaster): catch ..." << std::endl; dcrit << "(mbtcpmultimaster): catch ..." << std::endl;
} }
while( waitpid(-1, 0, 0) > 0 ); while( waitpid(-1, 0, 0) > 0 );
......
...@@ -53,7 +53,7 @@ int main( int argc, char** argv ) ...@@ -53,7 +53,7 @@ int main( int argc, char** argv )
RTUExchange* rs = RTUExchange::init_rtuexchange(argc,argv,shmID,0,"rs"); RTUExchange* rs = RTUExchange::init_rtuexchange(argc,argv,shmID,0,"rs");
if( !rs ) if( !rs )
{ {
dlog.crit() << "(rtuexchange): init не прошёл..." << endl; dcrit << "(rtuexchange): init не прошёл..." << endl;
return 1; return 1;
} }
...@@ -75,11 +75,11 @@ int main( int argc, char** argv ) ...@@ -75,11 +75,11 @@ int main( int argc, char** argv )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << "(rtuexchange): " << ex << std::endl; dcrit << "(rtuexchange): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(rtuexchange): catch ..." << std::endl; dcrit << "(rtuexchange): catch ..." << std::endl;
} }
while( waitpid(-1, 0, 0) > 0 ); while( waitpid(-1, 0, 0) > 0 );
......
...@@ -46,7 +46,7 @@ prefix(prefix) ...@@ -46,7 +46,7 @@ prefix(prefix)
// определяем фильтр // определяем фильтр
s_field = conf->getArgParam("--" + prefix + "-filter-field"); s_field = conf->getArgParam("--" + prefix + "-filter-field");
s_fvalue = conf->getArgParam("--" + prefix + "-filter-value"); s_fvalue = conf->getArgParam("--" + prefix + "-filter-value");
dlog.info() << myname << "(init): read s_field='" << s_field dinfo << myname << "(init): read s_field='" << s_field
<< "' s_fvalue='" << s_fvalue << "'" << endl; << "' s_fvalue='" << s_fvalue << "'" << endl;
force = conf->getArgInt("--" + prefix + "-force",it.getProp("force")); force = conf->getArgInt("--" + prefix + "-force",it.getProp("force"));
...@@ -61,7 +61,7 @@ prefix(prefix) ...@@ -61,7 +61,7 @@ prefix(prefix)
addr = ModbusRTU::str2mbAddr(saddr); addr = ModbusRTU::str2mbAddr(saddr);
mbregFromID = conf->getArgInt("--" + prefix + "-reg-from-id",it.getProp("reg_from_id")); mbregFromID = conf->getArgInt("--" + prefix + "-reg-from-id",it.getProp("reg_from_id"));
dlog.info() << myname << "(init): mbregFromID=" << mbregFromID << endl; dinfo << myname << "(init): mbregFromID=" << mbregFromID << endl;
respond_id = conf->getSensorID(conf->getArgParam("--" + prefix + "-respond-id",it.getProp("respond_id"))); respond_id = conf->getSensorID(conf->getArgParam("--" + prefix + "-respond-id",it.getProp("respond_id")));
respond_invert = conf->getArgInt("--" + prefix + "-respond-invert",it.getProp("respond_invert")); respond_invert = conf->getArgInt("--" + prefix + "-respond-invert",it.getProp("respond_invert"));
...@@ -92,7 +92,7 @@ prefix(prefix) ...@@ -92,7 +92,7 @@ prefix(prefix)
mbslot = rs; mbslot = rs;
thr = new ThreadCreator<MBSlave>(this,&MBSlave::execute_rtu); thr = new ThreadCreator<MBSlave>(this,&MBSlave::execute_rtu);
dlog.info() << myname << "(init): type=RTU myaddr=" << ModbusRTU::addr2str(addr) dinfo << myname << "(init): type=RTU myaddr=" << ModbusRTU::addr2str(addr)
<< " dev=" << dev << " speed=" << speed << endl; << " dev=" << dev << " speed=" << speed << endl;
} }
else if( stype == "TCP" ) else if( stype == "TCP" )
...@@ -103,16 +103,14 @@ prefix(prefix) ...@@ -103,16 +103,14 @@ prefix(prefix)
int port = conf->getArgPInt("--" + prefix + "-inet-port",it.getProp("iport"), 502); int port = conf->getArgPInt("--" + prefix + "-inet-port",it.getProp("iport"), 502);
if( dlog.is_info() ) dinfo << myname << "(init): type=TCP myaddr=" << ModbusRTU::addr2str(addr)
dlog.info() << myname << "(init): type=TCP myaddr=" << ModbusRTU::addr2str(addr)
<< " inet=" << iaddr << " port=" << port << endl; << " inet=" << iaddr << " port=" << port << endl;
ost::InetAddress ia(iaddr.c_str()); ost::InetAddress ia(iaddr.c_str());
mbslot = new ModbusTCPServerSlot(ia,port); mbslot = new ModbusTCPServerSlot(ia,port);
thr = new ThreadCreator<MBSlave>(this,&MBSlave::execute_tcp); thr = new ThreadCreator<MBSlave>(this,&MBSlave::execute_tcp);
if( dlog.is_info() ) dinfo << myname << "(init): init TCP connection ok. " << " inet=" << iaddr << " port=" << port << endl;
dlog.info() << myname << "(init): init TCP connection ok. " << " inet=" << iaddr << " port=" << port << endl;
} }
else else
throw UniSetTypes::SystemError(myname+"(MBSlave): Unknown slave type. Use: --mbs-type [RTU|TCP]"); throw UniSetTypes::SystemError(myname+"(MBSlave): Unknown slave type. Use: --mbs-type [RTU|TCP]");
...@@ -142,8 +140,7 @@ prefix(prefix) ...@@ -142,8 +140,7 @@ prefix(prefix)
if( shm->isLocalwork() ) if( shm->isLocalwork() )
{ {
readConfiguration(); readConfiguration();
if( dlog.is_info() ) dinfo << myname << "(init): iomap size = " << iomap.size() << endl;
dlog.info() << myname << "(init): iomap size = " << iomap.size() << endl;
} }
else else
{ {
...@@ -161,7 +158,7 @@ prefix(prefix) ...@@ -161,7 +158,7 @@ prefix(prefix)
{ {
ostringstream err; ostringstream err;
err << myname << ": не найден идентификатор для датчика 'HeartBeat' " << heart; err << myname << ": не найден идентификатор для датчика 'HeartBeat' " << heart;
dlog.crit() << myname << "(init): " << err.str() << endl; dcrit << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -181,18 +178,14 @@ prefix(prefix) ...@@ -181,18 +178,14 @@ prefix(prefix)
{ {
ostringstream err; ostringstream err;
err << myname << ": test_id unknown. 'TestMode_S' not found..."; err << myname << ": test_id unknown. 'TestMode_S' not found...";
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
askcount_id = conf->getSensorID(conf->getArgParam("--" + prefix + "-askcount-id",it.getProp("askcount_id"))); askcount_id = conf->getSensorID(conf->getArgParam("--" + prefix + "-askcount-id",it.getProp("askcount_id")));
if( dlog.is_info() ) dinfo << myname << ": init askcount_id=" << askcount_id << endl;
{ dinfo << myname << ": init test_id=" << test_id << endl;
dlog.info() << myname << ": init askcount_id=" << askcount_id << endl;
dlog.info() << myname << ": init test_id=" << test_id << endl;
}
wait_msec = getHeartBeatTime() - 100; wait_msec = getHeartBeatTime() - 100;
if( wait_msec < 500 ) if( wait_msec < 500 )
...@@ -203,8 +196,7 @@ prefix(prefix) ...@@ -203,8 +196,7 @@ prefix(prefix)
timeout_t msec = conf->getArgPInt("--" + prefix + "-timeout",it.getProp("timeout"), 3000); timeout_t msec = conf->getArgPInt("--" + prefix + "-timeout",it.getProp("timeout"), 3000);
ptTimeout.setTiming(msec); ptTimeout.setTiming(msec);
if( dlog.is_info() ) dinfo << myname << "(init): rs-timeout=" << msec << " msec" << endl;
dlog.info() << myname << "(init): rs-timeout=" << msec << " msec" << endl;
// build file list... // build file list...
xmlNode* fnode = 0; xmlNode* fnode = 0;
...@@ -222,18 +214,16 @@ prefix(prefix) ...@@ -222,18 +214,16 @@ prefix(prefix)
std::string nm = fit.getProp("name"); std::string nm = fit.getProp("name");
if( nm.empty() ) if( nm.empty() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(build file list): ignore empty name... " << endl;
dlog.warn() << myname << "(build file list): ignore empty name... " << endl;
continue; continue;
} }
int id = fit.getIntProp("id"); int id = fit.getIntProp("id");
if( id == 0 ) if( id == 0 )
{ {
if( dlog.is_warn() ) dwarn << myname << "(build file list): FAILED ID for " << nm << "... ignore..." << endl;
dlog.warn() << myname << "(build file list): FAILED ID for " << nm << "... ignore..." << endl;
continue; continue;
} }
std::string dir(fit.getProp("directory")); std::string dir(fit.getProp("directory"));
if( !dir.empty() ) if( !dir.empty() )
{ {
...@@ -245,8 +235,7 @@ prefix(prefix) ...@@ -245,8 +235,7 @@ prefix(prefix)
nm = dir + nm; nm = dir + nm;
} }
if( dlog.is_info() ) dinfo << myname << "(init): add to filelist: "
dlog.info() << myname << "(init): add to filelist: "
<< "id=" << id << "id=" << id
<< " file=" << nm << " file=" << nm
<< endl; << endl;
...@@ -254,11 +243,11 @@ prefix(prefix) ...@@ -254,11 +243,11 @@ prefix(prefix)
flist[id] = nm; flist[id] = nm;
} }
} }
else if( dlog.is_info() ) else
dlog.info() << myname << "(init): <filelist> empty..." << endl; dinfo << myname << "(init): <filelist> empty..." << endl;
} }
else if( dlog.is_info() ) else
dlog.info() << myname << "(init): <filelist> not found..." << endl; dinfo << myname << "(init): <filelist> not found..." << endl;
// Формирование "карты" ответов на запрос 0x2B(43)/0x0E(14) // Формирование "карты" ответов на запрос 0x2B(43)/0x0E(14)
...@@ -290,8 +279,7 @@ prefix(prefix) ...@@ -290,8 +279,7 @@ prefix(prefix)
{ {
if( dit.getProp("id").empty() ) if( dit.getProp("id").empty() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(init): read <MEI>. Unknown <device id=''>. Ignore.." << endl;
dlog.warn() << myname << "(init): read <MEI>. Unknown <device id=''>. Ignore.." << endl;
continue; continue;
} }
...@@ -300,20 +288,18 @@ prefix(prefix) ...@@ -300,20 +288,18 @@ prefix(prefix)
UniXML_iterator oit(dit); UniXML_iterator oit(dit);
if( oit.goChildren() ) if( oit.goChildren() )
{ {
if( dlog.is_info() ) dwarn << myname << "(init): MEI: read dev='" << devID << "'" << endl;
dlog.info() << myname << "(init): MEI: read dev='" << devID << "'" << endl;
MEIObjIDMap meiomap; MEIObjIDMap meiomap;
// Object ID list.. // Object ID list..
for( ;oit.getCurrent(); oit.goNext() ) for( ;oit.getCurrent(); oit.goNext() )
{ {
if( dit.getProp("id").empty() ) if( dit.getProp("id").empty() )
{ {
if( dlog.is_warn() ) dwarn << myname
dlog.warn() << myname
<< "(init): read <MEI>. Unknown <object id='' (for device id='" << "(init): read <MEI>. Unknown <object id='' (for device id='"
<< devID << "'). Ignore.." << devID << "'). Ignore.."
<< endl; << endl;
continue; continue;
} }
...@@ -321,9 +307,7 @@ prefix(prefix) ...@@ -321,9 +307,7 @@ prefix(prefix)
UniXML_iterator sit(oit); UniXML_iterator sit(oit);
if( sit.goChildren() ) if( sit.goChildren() )
{ {
if( dlog.is_info() ) dinfo << myname << "(init): MEI: read obj='" << objID << "'" << endl;
dlog.info() << myname << "(init): MEI: read obj='" << objID << "'" << endl;
MEIValMap meivmap; MEIValMap meivmap;
// request (string) list.. // request (string) list..
for( ;sit.getCurrent(); sit.goNext() ) for( ;sit.getCurrent(); sit.goNext() )
...@@ -331,8 +315,7 @@ prefix(prefix) ...@@ -331,8 +315,7 @@ prefix(prefix)
int vid = objID; int vid = objID;
if( sit.getProp("id").empty() ) if( sit.getProp("id").empty() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(init): MEI: dev='" << devID
dlog.info() << myname << "(init): MEI: dev='" << devID
<< "' obj='" << objID << "'" << "' obj='" << objID << "'"
<< ". Unknown id='' for value='" << sit.getProp("value") << "'" << ". Unknown id='' for value='" << sit.getProp("value") << "'"
<< ". Set objID='" << objID << "'" << ". Set objID='" << objID << "'"
...@@ -340,7 +323,7 @@ prefix(prefix) ...@@ -340,7 +323,7 @@ prefix(prefix)
} }
else else
vid = sit.getIntProp("id"); vid = sit.getIntProp("id");
meivmap[vid] = sit.getProp("value"); meivmap[vid] = sit.getProp("value");
} }
...@@ -355,11 +338,11 @@ prefix(prefix) ...@@ -355,11 +338,11 @@ prefix(prefix)
} }
} }
if( !meidev.empty() && dlog.is_info() ) if( !meidev.empty() )
dlog.info() << myname << "(init): <MEI> init ok." << endl; dinfo << myname << "(init): <MEI> init ok." << endl;
} }
else if( dlog.is_info() ) else
dlog.info() << myname << "(init): <MEI> empty..." << endl; dinfo << myname << "(init): <MEI> empty..." << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -383,8 +366,7 @@ void MBSlave::waitSMReady() ...@@ -383,8 +366,7 @@ void MBSlave::waitSMReady()
{ {
ostringstream err; ostringstream err;
err << myname << "(waitSMReady): Не дождались готовности SharedMemory к работе в течение " << ready_timeout << " мсек"; err << myname << "(waitSMReady): Не дождались готовности SharedMemory к работе в течение " << ready_timeout << " мсек";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -412,9 +394,9 @@ void MBSlave::execute_rtu() ...@@ -412,9 +394,9 @@ void MBSlave::execute_rtu()
prev = res; prev = res;
} }
if( res!=ModbusRTU::erNoError && res!=ModbusRTU::erTimeOut && dlog.is_warn() ) if( res!=ModbusRTU::erNoError && res!=ModbusRTU::erTimeOut )
dlog.warn() << myname << "(execute_rtu): " << ModbusRTU::mbErr2Str(res) << endl; dwarn << myname << "(execute_rtu): " << ModbusRTU::mbErr2Str(res) << endl;
if( !activated ) if( !activated )
continue; continue;
...@@ -428,9 +410,8 @@ void MBSlave::execute_rtu() ...@@ -428,9 +410,8 @@ void MBSlave::execute_rtu()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname
dlog.crit() << myname << "(execute_rtu): (hb) " << ex << std::endl;
<< "(execute_rtu): (hb) " << ex << std::endl;
} }
} }
...@@ -446,8 +427,7 @@ void MBSlave::execute_rtu() ...@@ -446,8 +427,7 @@ void MBSlave::execute_rtu()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(execute_rtu): (respond) " << ex << std::endl;
dlog.crit() << myname << "(execute_rtu): (respond) " << ex << std::endl;
} }
} }
...@@ -459,8 +439,7 @@ void MBSlave::execute_rtu() ...@@ -459,8 +439,7 @@ void MBSlave::execute_rtu()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(execute_rtu): (askCount) " << ex << std::endl;
dlog.crit() << myname << "(execute_rtu): (askCount) " << ex << std::endl;
} }
} }
...@@ -494,9 +473,9 @@ void MBSlave::execute_tcp() ...@@ -494,9 +473,9 @@ void MBSlave::execute_tcp()
prev = res; prev = res;
} }
if( res!=ModbusRTU::erNoError && res!=ModbusRTU::erTimeOut && dlog.is_warn() ) if( res!=ModbusRTU::erNoError && res!=ModbusRTU::erTimeOut )
dlog.warn() << myname << "(execute_tcp): " << ModbusRTU::mbErr2Str(res) << endl; dwarn << myname << "(execute_tcp): " << ModbusRTU::mbErr2Str(res) << endl;
if( !activated ) if( !activated )
continue; continue;
...@@ -510,8 +489,7 @@ void MBSlave::execute_tcp() ...@@ -510,8 +489,7 @@ void MBSlave::execute_tcp()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(execute_tcp): (hb) " << ex << std::endl;
dlog.crit() << myname << "(execute_tcp): (hb) " << ex << std::endl;
} }
} }
...@@ -526,9 +504,8 @@ void MBSlave::execute_tcp() ...@@ -526,9 +504,8 @@ void MBSlave::execute_tcp()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname
dlog.crit() << myname << "(execute_rtu): (respond) " << ex << std::endl;
<< "(execute_rtu): (respond) " << ex << std::endl;
} }
} }
...@@ -540,9 +517,8 @@ void MBSlave::execute_tcp() ...@@ -540,9 +517,8 @@ void MBSlave::execute_tcp()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname
dlog.crit() << myname << "(execute_rtu): (askCount) " << ex << std::endl;
<< "(execute_rtu): (askCount) " << ex << std::endl;
} }
} }
...@@ -580,20 +556,17 @@ void MBSlave::processingMessage(UniSetTypes::VoidMessage *msg) ...@@ -580,20 +556,17 @@ void MBSlave::processingMessage(UniSetTypes::VoidMessage *msg)
} }
catch( SystemError& ex ) catch( SystemError& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(SystemError): " << ex << std::endl;
dlog.crit() << myname << "(SystemError): " << ex << std::endl;
// throw SystemError(ex); // throw SystemError(ex);
raise(SIGTERM); raise(SIGTERM);
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): " << ex << std::endl;
dlog.crit() << myname << "(processingMessage): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): catch ...\n";
dlog.crit() << myname << "(processingMessage): catch ...\n";
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -605,12 +578,11 @@ void MBSlave::sysCommand(UniSetTypes::SystemMessage *sm) ...@@ -605,12 +578,11 @@ void MBSlave::sysCommand(UniSetTypes::SystemMessage *sm)
{ {
if( iomap.empty() ) if( iomap.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(sysCommand): iomap EMPTY! terminated..." << endl;
dlog.crit() << myname << "(sysCommand): iomap EMPTY! terminated..." << endl;
raise(SIGTERM); raise(SIGTERM);
return; return;
} }
waitSMReady(); waitSMReady();
// подождать пока пройдёт инициализация датчиков // подождать пока пройдёт инициализация датчиков
...@@ -624,9 +596,9 @@ void MBSlave::sysCommand(UniSetTypes::SystemMessage *sm) ...@@ -624,9 +596,9 @@ void MBSlave::sysCommand(UniSetTypes::SystemMessage *sm)
if( activated ) if( activated )
break; break;
} }
if( !activated && dlog.is_crit() ) if( !activated )
dlog.crit() << myname << "(sysCommand): ************* don`t activate?! ************" << endl; dcrit << myname << "(sysCommand): ************* don`t activate?! ************" << endl;
else else
{ {
UniSetTypes::uniset_rwmutex_rlock l(mutex_start); UniSetTypes::uniset_rwmutex_rlock l(mutex_start);
...@@ -688,8 +660,8 @@ void MBSlave::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -688,8 +660,8 @@ void MBSlave::askSensors( UniversalIO::UIOCommand cmd )
err << myname err << myname
<< "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение " << "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение "
<< activateTimeout << " мсек"; << activateTimeout << " мсек";
dlog.crit() << err.str() << endl; dcrit << err.str() << endl;
kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс... kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -707,8 +679,7 @@ void MBSlave::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -707,8 +679,7 @@ void MBSlave::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(askSensors): " << ex << std::endl;
dlog.warn() << myname << "(askSensors): " << ex << std::endl;
} }
catch(...){} catch(...){}
} }
...@@ -750,14 +721,12 @@ void MBSlave::sensorInfo( UniSetTypes::SensorMessage* sm ) ...@@ -750,14 +721,12 @@ void MBSlave::sensorInfo( UniSetTypes::SensorMessage* sm )
p->value = sm->value; p->value = sm->value;
} }
if( dlog.is_crit() ) // вообще этого не может случиться
{ // потому-что корректность проверяется при загрузке
// вообще этого не может случиться if( i != sz )
// потому-что корректность проверяется при загрузке dcrit << myname << "(sensorInfo): update failed for sid=" << sm->id
if( i != sz && dlog.is_crit() )
dlog.crit() << myname << "(sensorInfo): update failed for sid=" << sm->id
<< " (i=" << i << " sz=" << sz << ")" << endl; << " (i=" << i << " sz=" << sz << ")" << endl;
}
return; return;
} }
} }
...@@ -807,8 +776,7 @@ void MBSlave::readConfiguration() ...@@ -807,8 +776,7 @@ void MBSlave::readConfiguration()
UniXML_iterator it(root); UniXML_iterator it(root);
if( !it.goChildren() ) if( !it.goChildren() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(readConfiguration): раздел <sensors> не содержит секций ?!!\n";
dlog.crit() << myname << "(readConfiguration): раздел <sensors> не содержит секций ?!!\n";
return; return;
} }
...@@ -843,11 +811,10 @@ bool MBSlave::initItem( UniXML_iterator& it ) ...@@ -843,11 +811,10 @@ bool MBSlave::initItem( UniXML_iterator& it )
string r = it.getProp("mbreg"); string r = it.getProp("mbreg");
if( r.empty() ) if( r.empty() )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): Unknown 'mbreg' for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initItem): Unknown 'mbreg' for " << it.getProp("name") << endl;
return false; return false;
} }
p.mbreg = ModbusRTU::str2mbData(r); p.mbreg = ModbusRTU::str2mbData(r);
} }
...@@ -858,8 +825,7 @@ bool MBSlave::initItem( UniXML_iterator& it ) ...@@ -858,8 +825,7 @@ bool MBSlave::initItem( UniXML_iterator& it )
p.stype = UniSetTypes::getIOType(stype); p.stype = UniSetTypes::getIOType(stype);
if( p.stype == UniversalIO::UnknownIOType ) if( p.stype == UniversalIO::UnknownIOType )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): Unknown 'iotype' or 'mb_iotype' for " << it.getProp("name") << endl;
dlog.crit() << myname << "(initItem): Unknown 'iotype' or 'mb_iotype' for " << it.getProp("name") << endl;
return false; return false;
} }
...@@ -876,19 +842,16 @@ bool MBSlave::initItem( UniXML_iterator& it ) ...@@ -876,19 +842,16 @@ bool MBSlave::initItem( UniXML_iterator& it )
p.vtype = VTypes::vtUnknown; p.vtype = VTypes::vtUnknown;
p.wnum = 0; p.wnum = 0;
iomap[p.mbreg] = p; iomap[p.mbreg] = p;
if( dlog.is_info() ) dinfo << myname << "(initItem): add " << p << endl;
dlog.info() << myname << "(initItem): add " << p << endl;
} }
else else
{ {
VTypes::VType v(VTypes::str2type(vt)); VTypes::VType v(VTypes::str2type(vt));
if( v == VTypes::vtUnknown ) if( v == VTypes::vtUnknown )
{ {
if( dlog.is_crit() ) dcrit << myname << "(initItem): Unknown rtuVType=" << vt << " for "
dlog.crit() << myname << "(initItem): Unknown rtuVType=" << vt << " for " << it.getProp("name")
<< it.getProp("name") << endl;
<< endl;
return false; return false;
} }
...@@ -899,11 +862,10 @@ bool MBSlave::initItem( UniXML_iterator& it ) ...@@ -899,11 +862,10 @@ bool MBSlave::initItem( UniXML_iterator& it )
p.mbreg += i; p.mbreg += i;
p.wnum+= i; p.wnum+= i;
iomap[p.mbreg] = p; iomap[p.mbreg] = p;
if( dlog.is_info() ) dinfo << myname << "(initItem): add " << p << endl;
dlog.info() << myname << "(initItem): add " << p << endl;
} }
} }
return true; return true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -965,8 +927,7 @@ MBSlave* MBSlave::init_mbslave( int argc, const char* const* argv, UniSetTypes:: ...@@ -965,8 +927,7 @@ MBSlave* MBSlave::init_mbslave( int argc, const char* const* argv, UniSetTypes::
return 0; return 0;
} }
if( dlog.is_info() ) dinfo << "(mbslave): name = " << name << "(" << ID << ")" << endl;
dlog.info() << "(mbslave): name = " << name << "(" << ID << ")" << endl;
return new MBSlave(ID,icID,ic,prefix); return new MBSlave(ID,icID,ic,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -991,8 +952,7 @@ std::ostream& operator<<( std::ostream& os, MBSlave::IOProperty& p ) ...@@ -991,8 +952,7 @@ std::ostream& operator<<( std::ostream& os, MBSlave::IOProperty& p )
ModbusRTU::mbErrCode MBSlave::readOutputRegisters( ModbusRTU::ReadOutputMessage& query, ModbusRTU::mbErrCode MBSlave::readOutputRegisters( ModbusRTU::ReadOutputMessage& query,
ModbusRTU::ReadOutputRetMessage& reply ) ModbusRTU::ReadOutputRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(readOutputRegisters): " << query << endl;
dlog.info() << myname << "(readOutputRegisters): " << query << endl;
if( query.count <= 1 ) if( query.count <= 1 )
{ {
...@@ -1020,8 +980,7 @@ ModbusRTU::mbErrCode MBSlave::readOutputRegisters( ModbusRTU::ReadOutputMessage& ...@@ -1020,8 +980,7 @@ ModbusRTU::mbErrCode MBSlave::readOutputRegisters( ModbusRTU::ReadOutputMessage&
ModbusRTU::mbErrCode MBSlave::writeOutputRegisters( ModbusRTU::WriteOutputMessage& query, ModbusRTU::mbErrCode MBSlave::writeOutputRegisters( ModbusRTU::WriteOutputMessage& query,
ModbusRTU::WriteOutputRetMessage& reply ) ModbusRTU::WriteOutputRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(writeOutputRegisters): " << query << endl;
dlog.info() << myname << "(writeOutputRegisters): " << query << endl;
// Формирование ответа: // Формирование ответа:
ModbusRTU::mbErrCode ret = much_real_write(query.start,query.data,query.quant); ModbusRTU::mbErrCode ret = much_real_write(query.start,query.data,query.quant);
...@@ -1033,8 +992,7 @@ ModbusRTU::mbErrCode MBSlave::writeOutputRegisters( ModbusRTU::WriteOutputMessag ...@@ -1033,8 +992,7 @@ ModbusRTU::mbErrCode MBSlave::writeOutputRegisters( ModbusRTU::WriteOutputMessag
ModbusRTU::mbErrCode MBSlave::writeOutputSingleRegister( ModbusRTU::WriteSingleOutputMessage& query, ModbusRTU::mbErrCode MBSlave::writeOutputSingleRegister( ModbusRTU::WriteSingleOutputMessage& query,
ModbusRTU::WriteSingleOutputRetMessage& reply ) ModbusRTU::WriteSingleOutputRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(writeOutputSingleRegisters): " << query << endl;
dlog.info() << myname << "(writeOutputSingleRegisters): " << query << endl;
ModbusRTU::mbErrCode ret = real_write(query.start,query.data); ModbusRTU::mbErrCode ret = real_write(query.start,query.data);
if( ret == ModbusRTU::erNoError ) if( ret == ModbusRTU::erNoError )
...@@ -1045,12 +1003,11 @@ ModbusRTU::mbErrCode MBSlave::writeOutputSingleRegister( ModbusRTU::WriteSingleO ...@@ -1045,12 +1003,11 @@ ModbusRTU::mbErrCode MBSlave::writeOutputSingleRegister( ModbusRTU::WriteSingleO
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusRTU::mbErrCode MBSlave::much_real_write( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData* dat, ModbusRTU::mbErrCode MBSlave::much_real_write( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData* dat,
int count ) int count )
{ if( dlog.is_info() ) {
{ dinfo << myname << "(much_real_write): read mbID="
dlog.info() << myname << "(much_real_write): read mbID="
<< ModbusRTU::dat2str(reg) << " count=" << count << endl; << ModbusRTU::dat2str(reg) << " count=" << count << endl;
}
int i=0; int i=0;
IOMap::iterator it = iomap.end(); IOMap::iterator it = iomap.end();
for( ; i<count; i++ ) for( ; i<count; i++ )
...@@ -1080,13 +1037,10 @@ ModbusRTU::mbErrCode MBSlave::much_real_write( ModbusRTU::ModbusData reg, Modbus ...@@ -1080,13 +1037,10 @@ ModbusRTU::mbErrCode MBSlave::much_real_write( ModbusRTU::ModbusData reg, Modbus
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusRTU::mbErrCode MBSlave::real_write( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData mbval ) ModbusRTU::mbErrCode MBSlave::real_write( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData mbval )
{ {
if( dlog.is_info() ) dinfo << myname << "(write): save mbID="
{
dlog.info() << myname << "(write): save mbID="
<< ModbusRTU::dat2str(reg) << ModbusRTU::dat2str(reg)
<< " data=" << ModbusRTU::dat2str(mbval) << " data=" << ModbusRTU::dat2str(mbval)
<< "(" << (int)mbval << ")" << endl; << "(" << (int)mbval << ")" << endl;
}
IOMap::iterator it = iomap.find(reg); IOMap::iterator it = iomap.find(reg);
return real_write_it(it,mbval); return real_write_it(it,mbval);
...@@ -1180,33 +1134,31 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod ...@@ -1180,33 +1134,31 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod
} }
catch( UniSetTypes::NameNotFound& ex ) catch( UniSetTypes::NameNotFound& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(write): " << ex << endl;
dlog.warn() << myname << "(write): " << ex << endl;
return ModbusRTU::erBadDataAddress; return ModbusRTU::erBadDataAddress;
} }
catch( UniSetTypes::OutOfRange& ex ) catch( UniSetTypes::OutOfRange& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(write): " << ex << endl;
dlog.warn() << myname << "(write): " << ex << endl;
return ModbusRTU::erBadDataValue; return ModbusRTU::erBadDataValue;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(write): " << ex << endl; dcrit << myname << "(write): " << ex << endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(write): СORBA::SystemException: " dcrit << myname << "(write): СORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(write) catch ..." << endl; dcrit << myname << "(write) catch ..." << endl;
} }
pingOK = false; pingOK = false;
return ModbusRTU::erTimeOut; return ModbusRTU::erTimeOut;
} }
...@@ -1214,12 +1166,9 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod ...@@ -1214,12 +1166,9 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod
ModbusRTU::mbErrCode MBSlave::much_real_read( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData* dat, ModbusRTU::mbErrCode MBSlave::much_real_read( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData* dat,
int count ) int count )
{ {
if( dlog.is_info() ) dinfo << myname << "(much_real_read): read mbID="
{
dlog.info() << myname << "(much_real_read): read mbID="
<< ModbusRTU::dat2str(reg) << " count=" << count << endl; << ModbusRTU::dat2str(reg) << " count=" << count << endl;
}
IOMap::iterator it = iomap.end(); IOMap::iterator it = iomap.end();
int i=0; int i=0;
for( ; i<count; i++ ) for( ; i<count; i++ )
...@@ -1263,11 +1212,8 @@ ModbusRTU::mbErrCode MBSlave::much_real_read( ModbusRTU::ModbusData reg, ModbusR ...@@ -1263,11 +1212,8 @@ ModbusRTU::mbErrCode MBSlave::much_real_read( ModbusRTU::ModbusData reg, ModbusR
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusRTU::mbErrCode MBSlave::real_read( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData& val ) ModbusRTU::mbErrCode MBSlave::real_read( ModbusRTU::ModbusData reg, ModbusRTU::ModbusData& val )
{ {
if( dlog.is_info() ) dinfo << myname << "(real_read): read mbID="
{
dlog.info() << myname << "(real_read): read mbID="
<< ModbusRTU::dat2str(reg) << endl; << ModbusRTU::dat2str(reg) << endl;
}
IOMap::iterator it = iomap.find(reg); IOMap::iterator it = iomap.find(reg);
return real_read_it(it,val); return real_read_it(it,val);
...@@ -1280,12 +1226,9 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb ...@@ -1280,12 +1226,9 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
try try
{ {
if( dlog.is_info() ) dinfo << myname << "(real_read_it): read mbID="
{
dlog.info() << myname << "(real_read_it): read mbID="
<< ModbusRTU::dat2str(it->first) << endl; << ModbusRTU::dat2str(it->first) << endl;
}
IOProperty* p(&it->second); IOProperty* p(&it->second);
val = 0; val = 0;
...@@ -1355,33 +1298,31 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb ...@@ -1355,33 +1298,31 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
} }
catch( UniSetTypes::NameNotFound& ex ) catch( UniSetTypes::NameNotFound& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(real_read_it): " << ex << endl;
dlog.warn() << myname << "(real_read_it): " << ex << endl;
return ModbusRTU::erBadDataAddress; return ModbusRTU::erBadDataAddress;
} }
catch( UniSetTypes::OutOfRange& ex ) catch( UniSetTypes::OutOfRange& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(real_read_it): " << ex << endl;
dlog.warn() << myname << "(real_read_it): " << ex << endl;
return ModbusRTU::erBadDataValue; return ModbusRTU::erBadDataValue;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(real_read_it): " << ex << endl; dcrit << myname << "(real_read_it): " << ex << endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(real_read_it): CORBA::SystemException: " dcrit << myname << "(real_read_it): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(real_read_it) catch ..." << endl; dcrit << myname << "(real_read_it) catch ..." << endl;
} }
pingOK = false; pingOK = false;
return ModbusRTU::erTimeOut; return ModbusRTU::erTimeOut;
} }
...@@ -1389,8 +1330,7 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb ...@@ -1389,8 +1330,7 @@ ModbusRTU::mbErrCode MBSlave::real_read_it( IOMap::iterator& it, ModbusRTU::Modb
mbErrCode MBSlave::readInputRegisters( ReadInputMessage& query, ReadInputRetMessage& reply ) mbErrCode MBSlave::readInputRegisters( ReadInputMessage& query, ReadInputRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(readInputRegisters): " << query << endl;
dlog.info() << myname << "(readInputRegisters): " << query << endl;
if( query.count <= 1 ) if( query.count <= 1 )
{ {
...@@ -1431,8 +1371,7 @@ ModbusRTU::mbErrCode MBSlave::remoteService( ModbusRTU::RemoteServiceMessage& qu ...@@ -1431,8 +1371,7 @@ ModbusRTU::mbErrCode MBSlave::remoteService( ModbusRTU::RemoteServiceMessage& qu
ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& query, ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& query,
ModbusRTU::FileTransferRetMessage& reply ) ModbusRTU::FileTransferRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(fileTransfer): " << query << endl;
dlog.info() << myname << "(fileTransfer): " << query << endl;
FileList::iterator it = flist.find(query.numfile); FileList::iterator it = flist.find(query.numfile);
if( it == flist.end() ) if( it == flist.end() )
...@@ -1452,8 +1391,7 @@ ModbusRTU::mbErrCode MBSlave::readCoilStatus( ReadCoilMessage& query, ...@@ -1452,8 +1391,7 @@ ModbusRTU::mbErrCode MBSlave::readCoilStatus( ReadCoilMessage& query,
ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query, ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
ReadInputStatusRetMessage& reply ) ReadInputStatusRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(readInputStatus): " << query << endl;
dlog.info() << myname << "(readInputStatus): " << query << endl;
try try
{ {
...@@ -1488,27 +1426,26 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query, ...@@ -1488,27 +1426,26 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
} }
catch( UniSetTypes::NameNotFound& ex ) catch( UniSetTypes::NameNotFound& ex )
{ {
if( dlog.is_warn() ) dwarn << myname << "(readInputStatus): " << ex << endl;
dlog.warn() << myname << "(readInputStatus): " << ex << endl;
return ModbusRTU::erBadDataAddress; return ModbusRTU::erBadDataAddress;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(readInputStatus): " << ex << endl; dcrit << myname << "(readInputStatus): " << ex << endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(readInputStatus): СORBA::SystemException: " dcrit << myname << "(readInputStatus): СORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( pingOK && dlog.is_crit() ) if( pingOK )
dlog.crit() << myname << "(readInputStatus): catch ..." << endl; dcrit << myname << "(readInputStatus): catch ..." << endl;
} }
pingOK = false; pingOK = false;
return ModbusRTU::erTimeOut; return ModbusRTU::erTimeOut;
} }
...@@ -1516,8 +1453,7 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query, ...@@ -1516,8 +1453,7 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
ModbusRTU::mbErrCode MBSlave::forceMultipleCoils( ModbusRTU::ForceCoilsMessage& query, ModbusRTU::mbErrCode MBSlave::forceMultipleCoils( ModbusRTU::ForceCoilsMessage& query,
ModbusRTU::ForceCoilsRetMessage& reply ) ModbusRTU::ForceCoilsRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(forceMultipleCoils): " << query << endl;
dlog.info() << myname << "(forceMultipleCoils): " << query << endl;
ModbusRTU::mbErrCode ret = ModbusRTU::erNoError; ModbusRTU::mbErrCode ret = ModbusRTU::erNoError;
int nbit = 0; int nbit = 0;
...@@ -1542,8 +1478,7 @@ ModbusRTU::mbErrCode MBSlave::forceMultipleCoils( ModbusRTU::ForceCoilsMessage& ...@@ -1542,8 +1478,7 @@ ModbusRTU::mbErrCode MBSlave::forceMultipleCoils( ModbusRTU::ForceCoilsMessage&
ModbusRTU::mbErrCode MBSlave::forceSingleCoil( ModbusRTU::ForceSingleCoilMessage& query, ModbusRTU::mbErrCode MBSlave::forceSingleCoil( ModbusRTU::ForceSingleCoilMessage& query,
ModbusRTU::ForceSingleCoilRetMessage& reply ) ModbusRTU::ForceSingleCoilRetMessage& reply )
{ {
if( dlog.is_info() ) dinfo << myname << "(forceSingleCoil): " << query << endl;
dlog.info() << myname << "(forceSingleCoil): " << query << endl;
ModbusRTU::mbErrCode ret = real_write(query.start, (query.cmd() ? 1 : 0) ); ModbusRTU::mbErrCode ret = real_write(query.start, (query.cmd() ? 1 : 0) );
if( ret == ModbusRTU::erNoError ) if( ret == ModbusRTU::erNoError )
...@@ -1598,8 +1533,7 @@ ModbusRTU::mbErrCode MBSlave::diagnostics( ModbusRTU::DiagnosticMessage& query, ...@@ -1598,8 +1533,7 @@ ModbusRTU::mbErrCode MBSlave::diagnostics( ModbusRTU::DiagnosticMessage& query,
ModbusRTU::mbErrCode MBSlave::read4314( ModbusRTU::MEIMessageRDI& query, ModbusRTU::mbErrCode MBSlave::read4314( ModbusRTU::MEIMessageRDI& query,
ModbusRTU::MEIMessageRetRDI& reply ) ModbusRTU::MEIMessageRetRDI& reply )
{ {
if( dlog.is_info() ) dinfo << "(read4314): " << query << endl;
dlog.info() << "(read4314): " << query << endl;
// if( query.devID <= rdevMinNum || query.devID >= rdevMaxNum ) // if( query.devID <= rdevMinNum || query.devID >= rdevMaxNum )
// return erOperationFailed; // return erOperationFailed;
......
...@@ -60,7 +60,7 @@ int main(int argc, const char **argv) ...@@ -60,7 +60,7 @@ int main(int argc, const char **argv)
MBSlave* s = MBSlave::init_mbslave(argc,argv,shmID); MBSlave* s = MBSlave::init_mbslave(argc,argv,shmID);
if( !s ) if( !s )
{ {
dlog.crit() << "(mbslave): init не прошёл..." << endl; dcrit << "(mbslave): init не прошёл..." << endl;
return 1; return 1;
} }
...@@ -80,19 +80,19 @@ int main(int argc, const char **argv) ...@@ -80,19 +80,19 @@ int main(int argc, const char **argv)
} }
catch( SystemError& err ) catch( SystemError& err )
{ {
dlog.crit() << "(mbslave): " << err << endl; dcrit << "(mbslave): " << err << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << "(mbslave): " << ex << endl; dcrit << "(mbslave): " << ex << endl;
} }
catch( std::exception& e ) catch( std::exception& e )
{ {
dlog.crit() << "(mbslave): " << e.what() << endl; dcrit << "(mbslave): " << e.what() << endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(mbslave): catch(...)" << endl; dcrit << "(mbslave): catch(...)" << endl;
} }
while( waitpid(-1, 0, 0) > 0 ); while( waitpid(-1, 0, 0) > 0 );
......
...@@ -17,7 +17,7 @@ UObject_SK(objId,cnode), ...@@ -17,7 +17,7 @@ UObject_SK(objId,cnode),
shm( new SMInterface(shmId,&ui,objId,ic) ), shm( new SMInterface(shmId,&ui,objId,ic) ),
prefix(prefix) prefix(prefix)
{ {
dlog = log; mylog = log;
UniXML::iterator it(cnode); UniXML::iterator it(cnode);
UniXML::iterator it1(cnode); UniXML::iterator it1(cnode);
...@@ -25,8 +25,7 @@ prefix(prefix) ...@@ -25,8 +25,7 @@ prefix(prefix)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): empty rrd list..."; err << myname << "(init): empty rrd list...";
if( RRDServer::dlog.is_crit() ) mylog << err.str() << endl;
RRDServer::dlog.crit() << err.str() << endl;
throw NameNotFound(err.str()); throw NameNotFound(err.str());
} }
...@@ -58,8 +57,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -58,8 +57,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
int lastup = it.getPIntProp("lastup",0); int lastup = it.getPIntProp("lastup",0);
bool overwrite = it.getPIntProp("overwrite",0); bool overwrite = it.getPIntProp("overwrite",0);
if( RRDServer::dlog.is_info() ) myinfo << myname << "(init): add rrd: file='" << fname
RRDServer::dlog.info() << myname << "(init): add rrd: file='" << fname
<< " " << ff << "='" << fv << " " << ff << "='" << fv
<< "' create='" << cf << "'" << "' create='" << cf << "'"
<< " step=" << rrdstep << " step=" << rrdstep
...@@ -72,7 +70,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -72,7 +70,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): rrd='" << fname << "' Unknown RRA list"; err << myname << "(init): rrd='" << fname << "' Unknown RRA list";
RRDServer::dlog.crit() << err.str(); mycrit << err.str();
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -83,8 +81,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -83,8 +81,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): rrd='" << fname << "' Unkown RRA item.. <item rra='...'"; err << myname << "(init): rrd='" << fname << "' Unkown RRA item.. <item rra='...'";
if( RRDServer::dlog.is_crit() ) mycrit << err.str();
RRDServer::dlog.crit() << err.str();
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -95,8 +92,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -95,8 +92,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): Not found RRA items..."; err << myname << "(init): Not found RRA items...";
if( RRDServer::dlog.is_crit() ) mycrit << err.str() << endl;
RRDServer::dlog.crit() << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -108,8 +104,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -108,8 +104,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): Not found section <sensors>"; err << myname << "(init): Not found section <sensors>";
if( RRDServer::dlog.is_crit() ) mycrit << err.str();
RRDServer::dlog.crit() << err.str();
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -118,8 +113,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -118,8 +113,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): section <sensors> empty?!"; err << myname << "(init): section <sensors> empty?!";
if( RRDServer::dlog.is_crit() ) mycrit << err.str();
RRDServer::dlog.crit() << err.str();
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -138,8 +132,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -138,8 +132,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): Unknown create parameters ('" << cf << "')"; err << myname << "(init): Unknown create parameters ('" << cf << "')";
if( RRDServer::dlog.is_crit() ) mycrit << err.str();
RRDServer::dlog.crit() << err.str();
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -153,8 +146,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -153,8 +146,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): Unknown SensorID for '" << dsname << "'"; err << myname << "(init): Unknown SensorID for '" << dsname << "'";
if( RRDServer::dlog.is_crit() ) mycrit << err.str();
RRDServer::dlog.crit() << err.str();
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -166,8 +158,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -166,8 +158,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): Not found RRD items..."; err << myname << "(init): Not found RRD items...";
if( RRDServer::dlog.is_crit() ) mycrit << err.str() << endl;
RRDServer::dlog.crit() << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -187,8 +178,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -187,8 +178,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
// Собственно создаём RRD // Собственно создаём RRD
if( !overwrite && file_exist(fname) ) if( !overwrite && file_exist(fname) )
{ {
if( RRDServer::dlog.is_info() ) myinfo << myname << "(init): ignore create file='" << fname
RRDServer::dlog.info() << myname << "(init): ignore create file='" << fname
<< "'. File exist... overwrite=0." << endl; << "'. File exist... overwrite=0." << endl;
} }
else else
...@@ -198,8 +188,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -198,8 +188,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): Can`t create RRD ('" << fname << "'): err: " << string(rrd_get_error()); err << myname << "(init): Can`t create RRD ('" << fname << "'): err: " << string(rrd_get_error());
if( RRDServer::dlog.is_crit() ) mycrit << err.str() << endl;
RRDServer::dlog.crit() << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -215,11 +204,11 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -215,11 +204,11 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
} }
/* catch( Exception& ex ) /* catch( Exception& ex )
{ {
RRDServer::dlog.crit() << myname << "(init) " << ex << std::endl; mycrit << myname << "(init) " << ex << std::endl;
} }
catch( ... ) catch( ... )
{ {
RRDServer::dlog.crit() << myname << "(init): catch ..." << std::endl; mycrit << myname << "(init): catch ..." << std::endl;
} }
*/ */
} }
...@@ -240,14 +229,14 @@ RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv, ...@@ -240,14 +229,14 @@ RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv,
string name = conf->getArgParam("--" + prefix + "-name","RRDServer"); string name = conf->getArgParam("--" + prefix + "-name","RRDServer");
if( name.empty() ) if( name.empty() )
{ {
UniSetExtensions::dlog.crit() << "(RRDServer): Unknown name. Usage: --" << prefix << "-name" << endl; dcrit << "(RRDServer): Unknown name. Usage: --" << prefix << "-name" << endl;
return 0; return 0;
} }
ObjectId ID = conf->getObjectID(name); ObjectId ID = conf->getObjectID(name);
if( ID == UniSetTypes::DefaultObjectId ) if( ID == UniSetTypes::DefaultObjectId )
{ {
UniSetExtensions::dlog.crit() << "(RRDServer): Not found ID for '" << name dcrit << "(RRDServer): Not found ID for '" << name
<< " in '" << conf->getObjectsSection() << "' section" << endl; << " in '" << conf->getObjectsSection() << "' section" << endl;
return 0; return 0;
} }
...@@ -256,12 +245,11 @@ RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv, ...@@ -256,12 +245,11 @@ RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv,
xmlNode* cnode = conf->getNode(confname); xmlNode* cnode = conf->getNode(confname);
if( !cnode ) if( !cnode )
{ {
UniSetExtensions::dlog.crit() << "(RRDServer): " << name << "(init): Not found <" + confname + ">" << endl; dcrit << "(RRDServer): " << name << "(init): Not found <" + confname + ">" << endl;
return 0; return 0;
} }
if( UniSetExtensions::dlog.is_info() ) dinfo << "(RRDServer): name = " << name << "(" << ID << ")" << endl;
UniSetExtensions::dlog.info() << "(RRDServer): name = " << name << "(" << ID << ")" << endl;
return new RRDServer(ID,cnode,icID,ic,prefix); return new RRDServer(ID,cnode,icID,ic,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -279,8 +267,7 @@ void RRDServer::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -279,8 +267,7 @@ void RRDServer::askSensors( UniversalIO::UIOCommand cmd )
} }
catch( std::exception& ex ) catch( std::exception& ex )
{ {
if( RRDServer::dlog.is_crit() ) mycrit << myname << "(askSensors): " << ex.what() << endl;
RRDServer::dlog.crit() << myname << "(askSensors): " << ex.what() << endl;
} }
} }
} }
...@@ -299,8 +286,7 @@ void RRDServer::sysCommand( UniSetTypes::SystemMessage* sm ) ...@@ -299,8 +286,7 @@ void RRDServer::sysCommand( UniSetTypes::SystemMessage* sm )
} }
catch( std::exception& ex ) catch( std::exception& ex )
{ {
if( RRDServer::dlog.is_crit() ) mycrit << myname << "(askTimer): " << ex.what() << endl;
RRDServer::dlog.crit() << myname << "(askTimer): " << ex.what() << endl;
} }
} }
} }
...@@ -330,8 +316,7 @@ void RRDServer::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -330,8 +316,7 @@ void RRDServer::timerInfo( UniSetTypes::TimerMessage* tm )
for( DSMap::iterator s=it->dsmap.begin(); s!=it->dsmap.end(); ++s ) for( DSMap::iterator s=it->dsmap.begin(); s!=it->dsmap.end(); ++s )
v << ":" << s->second.value; v << ":" << s->second.value;
if( RRDServer::dlog.is_info() ) myinfo << myname << "(update): '" << it->filename << "' " << v.str() << endl;
RRDServer::dlog.info() << myname << "(update): '" << it->filename << "' " << v.str() << endl;
rrd_clear_error(); rrd_clear_error();
const char* argv = v.str().c_str(); const char* argv = v.str().c_str();
...@@ -339,8 +324,7 @@ void RRDServer::timerInfo( UniSetTypes::TimerMessage* tm ) ...@@ -339,8 +324,7 @@ void RRDServer::timerInfo( UniSetTypes::TimerMessage* tm )
{ {
ostringstream err; ostringstream err;
err << myname << "(update): Can`t update RRD ('" << it->filename << "'): err: " << string(rrd_get_error()); err << myname << "(update): Can`t update RRD ('" << it->filename << "'): err: " << string(rrd_get_error());
if( RRDServer::dlog.is_crit() ) mycrit << err.str() << endl;
RRDServer::dlog.crit() << err.str() << endl;
} }
break; break;
......
...@@ -61,7 +61,7 @@ class RRDServer: ...@@ -61,7 +61,7 @@ class RRDServer:
RRDServer( UniSetTypes::ObjectId objId, xmlNode* cnode, UniSetTypes::ObjectId shmID, SharedMemory* ic=0, RRDServer( UniSetTypes::ObjectId objId, xmlNode* cnode, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string& prefix="rrd", DebugStream& log=UniSetExtensions::dlog ); const std::string& prefix="rrd", DebugStream& log=UniSetExtensions::dlog );
virtual ~RRDServer(); virtual ~RRDServer();
/*! глобальная функция для инициализации объекта */ /*! глобальная функция для инициализации объекта */
static RRDServer* init_rrdstorage( int argc, const char* const* argv, static RRDServer* init_rrdstorage( int argc, const char* const* argv,
UniSetTypes::ObjectId shmID, SharedMemory* ic=0, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
...@@ -100,14 +100,14 @@ class RRDServer: ...@@ -100,14 +100,14 @@ class RRDServer:
long tid; long tid;
long sec; long sec;
DSMap dsmap; DSMap dsmap;
RRDInfo( const std::string& fname, long tmID, long sec, const DSMap& ds ): RRDInfo( const std::string& fname, long tmID, long sec, const DSMap& ds ):
filename(fname),tid(tmID),sec(sec),dsmap(ds){} filename(fname),tid(tmID),sec(sec),dsmap(ds){}
}; };
typedef std::list<RRDInfo> RRDList; typedef std::list<RRDInfo> RRDList;
RRDList rrdlist; RRDList rrdlist;
private: private:
......
...@@ -54,7 +54,7 @@ int main( int argc, const char** argv ) ...@@ -54,7 +54,7 @@ int main( int argc, const char** argv )
RRDServer* db = RRDServer::init_rrdstorage(argc,argv,shmID); RRDServer* db = RRDServer::init_rrdstorage(argc,argv,shmID);
if( !db ) if( !db )
{ {
dlog.crit() << "(rrdstorage): init не прошёл..." << endl; dcrit << "(rrdstorage): init не прошёл..." << endl;
return 1; return 1;
} }
...@@ -73,11 +73,11 @@ int main( int argc, const char** argv ) ...@@ -73,11 +73,11 @@ int main( int argc, const char** argv )
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
dlog.crit() << "(rrdstorage): " << ex << std::endl; dcrit << "(rrdstorage): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(rrdstorage): catch ..." << std::endl; dcrit << "(rrdstorage): catch ..." << std::endl;
} }
return 1; return 1;
......
...@@ -42,7 +42,7 @@ prefix(prefix) ...@@ -42,7 +42,7 @@ prefix(prefix)
{ {
ostringstream err; ostringstream err;
err << myname << ": ID not found ('HeartBeat') for " << heart; err << myname << ": ID not found ('HeartBeat') for " << heart;
dlog.crit() << myname << "(init): " << err.str() << endl; dcrit << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -62,14 +62,12 @@ prefix(prefix) ...@@ -62,14 +62,12 @@ prefix(prefix)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): test_id unknown. 'TestMode_S' not found..."; err << myname << "(init): test_id unknown. 'TestMode_S' not found...";
dlog.crit() << myname << "(init): " << err.str() << endl; dcrit << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
dlog.info() << myname << "(init): test_id=" << test_id << endl; dinfo << myname << "(init): test_id=" << test_id << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
SMDBServer::~SMDBServer() SMDBServer::~SMDBServer()
...@@ -90,7 +88,7 @@ void SMDBServer::waitSMReady() ...@@ -90,7 +88,7 @@ void SMDBServer::waitSMReady()
{ {
ostringstream err; ostringstream err;
err << myname << "(waitSMReady): Wait SharedMemory failed. [ " << ready_timeout << " msec ]"; err << myname << "(waitSMReady): Wait SharedMemory failed. [ " << ready_timeout << " msec ]";
dlog.crit() << err.str() << endl; dcrit << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -108,7 +106,7 @@ void SMDBServer::step() ...@@ -108,7 +106,7 @@ void SMDBServer::step()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
dlog.crit() << myname << "(step): (hb) " << ex << std::endl; dcrit << myname << "(step): (hb) " << ex << std::endl;
} }
} }
} }
...@@ -132,16 +130,15 @@ void SMDBServer::initDB( DBInterface *db ) ...@@ -132,16 +130,15 @@ void SMDBServer::initDB( DBInterface *db )
xmlNode* snode = conf->getXMLSensorsSection(); xmlNode* snode = conf->getXMLSensorsSection();
if(!snode) if(!snode)
{ {
dlog.crit() << myname << ": section <sensors> not found.." << endl; dcrit << myname << ": section <sensors> not found.." << endl;
return; return;
} }
UniXML_iterator it(snode); UniXML_iterator it(snode);
if( !it.goChildren() ) if( !it.goChildren() )
{ {
dlog.crit() << myname << ": section <sensors> empty?!.." << endl; dcrit << myname << ": section <sensors> empty?!.." << endl;
return; return;
} }
for(;it.getCurrent(); it.goNext() ) for(;it.getCurrent(); it.goNext() )
...@@ -156,18 +153,18 @@ void SMDBServer::initDB( DBInterface *db ) ...@@ -156,18 +153,18 @@ void SMDBServer::initDB( DBInterface *db )
if( !writeToBase("INSERT IGNORE INTO ObjectsMap(name,rep_name,id,msg)"+data.str()) ) if( !writeToBase("INSERT IGNORE INTO ObjectsMap(name,rep_name,id,msg)"+data.str()) )
{ {
dlog.crit() << myname << "(insert) ObjectsMap msg error: "<< db->error() << std::endl; dcrit << myname << "(insert) ObjectsMap msg error: "<< db->error() << std::endl;
db->freeResult(); db->freeResult();
} }
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << myname << "(filling ObjectsMap): " << ex << std::endl; dcrit << myname << "(filling ObjectsMap): " << ex << std::endl;
} }
catch( ... ) catch( ... )
{ {
dlog.crit() << myname << "(filling ObjectsMap): catch ..." << std::endl; dcrit << myname << "(filling ObjectsMap): catch ..." << std::endl;
} }
} }
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -198,7 +195,7 @@ SMDBServer* SMDBServer::init_smdbserver( int argc, const char* const* argv, ...@@ -198,7 +195,7 @@ SMDBServer* SMDBServer::init_smdbserver( int argc, const char* const* argv,
return 0; return 0;
} }
dlog.info() << "(SMDBServer): name = " << name << "(" << ID << ")" << endl; dinfo << "(SMDBServer): name = " << name << "(" << ID << ")" << endl;
return new SMDBServer(ID,icID,ic,prefix); return new SMDBServer(ID,icID,ic,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -54,7 +54,7 @@ int main( int argc, const char** argv ) ...@@ -54,7 +54,7 @@ int main( int argc, const char** argv )
SMDBServer* db = SMDBServer::init_smdbserver(argc,argv,shmID); SMDBServer* db = SMDBServer::init_smdbserver(argc,argv,shmID);
if( !db ) if( !db )
{ {
dlog.crit() << "(smdbserver): init не прошёл..." << endl; dcrit << "(smdbserver): init не прошёл..." << endl;
return 1; return 1;
} }
...@@ -73,11 +73,11 @@ int main( int argc, const char** argv ) ...@@ -73,11 +73,11 @@ int main( int argc, const char** argv )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << "(smdbserver): " << ex << std::endl; dcrit << "(smdbserver): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(smdbserver): catch ..." << std::endl; dcrit << "(smdbserver): catch ..." << std::endl;
} }
return 1; return 1;
......
...@@ -62,19 +62,21 @@ SharedMemory::SharedMemory( ObjectId id, string datafile, std::string confname ) ...@@ -62,19 +62,21 @@ SharedMemory::SharedMemory( ObjectId id, string datafile, std::string confname )
// ---------------------- // ----------------------
restorer = NULL; restorer = NULL;
NCRestorer_XML* rxml = new NCRestorer_XML(datafile); NCRestorer_XML* rxml = new NCRestorer_XML(datafile);
string s_field = conf->getArgParam("--s-filter-field"); string s_field = conf->getArgParam("--s-filter-field");
string s_fvalue = conf->getArgParam("--s-filter-value"); string s_fvalue = conf->getArgParam("--s-filter-value");
string c_field = conf->getArgParam("--c-filter-field"); string c_field = conf->getArgParam("--c-filter-field");
string c_fvalue = conf->getArgParam("--c-filter-value"); string c_fvalue = conf->getArgParam("--c-filter-value");
string t_field = conf->getArgParam("--t-filter-field"); string t_field = conf->getArgParam("--t-filter-field");
string t_fvalue = conf->getArgParam("--t-filter-value"); string t_fvalue = conf->getArgParam("--t-filter-value");
heartbeat_node = conf->getArgParam("--heartbeat-node"); heartbeat_node = conf->getArgParam("--heartbeat-node");
if( heartbeat_node.empty() && dlog.is_warn() ) if( heartbeat_node.empty() )
dlog.warn() << myname << "(init): --heartbeat-node NULL ===> heartbeat NOT USED..." << endl; {
else if( dlog.is_info() ) dwarn << myname << "(init): --heartbeat-node NULL ===> heartbeat NOT USED..." << endl;
dlog.info() << myname << "(init): heartbeat-node: " << heartbeat_node << endl; }
else
dinfo << myname << "(init): heartbeat-node: " << heartbeat_node << endl;
heartbeatCheckTime = conf->getArgInt("--heartbeat-check-time","1000"); heartbeatCheckTime = conf->getArgInt("--heartbeat-check-time","1000");
...@@ -88,9 +90,8 @@ SharedMemory::SharedMemory( ObjectId id, string datafile, std::string confname ) ...@@ -88,9 +90,8 @@ SharedMemory::SharedMemory( ObjectId id, string datafile, std::string confname )
string wdt_dev = conf->getArgParam("--wdt-device"); string wdt_dev = conf->getArgParam("--wdt-device");
if( !wdt_dev.empty() ) if( !wdt_dev.empty() )
wdt = new WDTInterface(wdt_dev); wdt = new WDTInterface(wdt_dev);
else if( dlog.is_warn() ) else
dlog.warn() << myname << "(init): watchdog timer NOT USED (--wdt-device NULL)" << endl; dwarn << myname << "(init): watchdog timer NOT USED (--wdt-device NULL)" << endl;
dblogging = conf->getArgInt("--db-logging"); dblogging = conf->getArgInt("--db-logging");
...@@ -111,8 +112,7 @@ SharedMemory::SharedMemory( ObjectId id, string datafile, std::string confname ) ...@@ -111,8 +112,7 @@ SharedMemory::SharedMemory( ObjectId id, string datafile, std::string confname )
{ {
ostringstream err; ostringstream err;
err << myname << ": ID not found ('pulsar') for " << p; err << myname << ": ID not found ('pulsar') for " << p;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
siPulsar.node = conf->getLocalNode(); siPulsar.node = conf->getLocalNode();
...@@ -163,24 +163,20 @@ void SharedMemory::processingMessage( UniSetTypes::VoidMessage *msg ) ...@@ -163,24 +163,20 @@ void SharedMemory::processingMessage( UniSetTypes::VoidMessage *msg )
default: default:
//dlog.warn() << myname << ": неизвестное сообщение " << msg->type << endl;
break; break;
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): " << ex << endl;
dlog.crit() << myname << "(processingMessage): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( dlog.is_warn() ) dcrit << myname << "(processingMessage): CORBA::SystemException: " << ex.NP_minorString() << endl;
dlog.warn() << myname << "(processingMessage): CORBA::SystemException: " << ex.NP_minorString() << endl;
} }
catch(CORBA::Exception& ex) catch(CORBA::Exception& ex)
{ {
if( dlog.is_warn() ) dwarn << myname << "(processingMessage): CORBA::Exception: " << ex._name() << endl;
dlog.warn() << myname << "(processingMessage): CORBA::Exception: " << ex._name() << endl;
} }
catch( omniORB::fatalException& fe ) catch( omniORB::fatalException& fe )
{ {
...@@ -194,8 +190,7 @@ void SharedMemory::processingMessage( UniSetTypes::VoidMessage *msg ) ...@@ -194,8 +190,7 @@ void SharedMemory::processingMessage( UniSetTypes::VoidMessage *msg )
} }
catch(...) catch(...)
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): catch..." << endl;
dlog.crit() << myname << "(processingMessage): catch..." << endl;
} }
} }
...@@ -246,10 +241,10 @@ void SharedMemory::sysCommand( SystemMessage *sm ) ...@@ -246,10 +241,10 @@ void SharedMemory::sysCommand( SystemMessage *sm )
cout << myname << "(sysCommand): wait activate..." << endl; cout << myname << "(sysCommand): wait activate..." << endl;
msleep(100); msleep(100);
} }
if( !isActivated() && dlog.is_crit() ) if( !isActivated() )
dlog.crit() << myname << "(sysCommand): ************* don`t activate?! ************" << endl; dcrit << myname << "(sysCommand): ************* don`t activate?! ************" << endl;
// подождать пока пройдёт инициализация // подождать пока пройдёт инициализация
// см. activateObject() // см. activateObject()
UniSetTypes::uniset_rwmutex_rlock l(mutex_start); UniSetTypes::uniset_rwmutex_rlock l(mutex_start);
...@@ -402,13 +397,11 @@ void SharedMemory::checkHeartBeat() ...@@ -402,13 +397,11 @@ void SharedMemory::checkHeartBeat()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(checkHeartBeat): " << ex << endl;
dlog.crit() << myname << "(checkHeartBeat): " << ex << endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_crit() ) dcrit << myname << "(checkHeartBeat): ..." << endl;
dlog.crit() << myname << "(checkHeartBeat): ..." << endl;
} }
} }
...@@ -448,8 +441,7 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec ) ...@@ -448,8 +441,7 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec )
<< ") указан неверно (" << ") указан неверно ("
<< it.getProp("iotype") << ") должен быть 'AI'"; << it.getProp("iotype") << ") должен быть 'AI'";
if( dlog.is_crit() ) dcrit << msg.str() << endl;
dlog.crit() << msg.str() << endl;
kill(getpid(),SIGTERM); kill(getpid(),SIGTERM);
// throw NameNotFound(msg.str()); // throw NameNotFound(msg.str());
}; };
...@@ -463,8 +455,7 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec ) ...@@ -463,8 +455,7 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec )
{ {
ostringstream msg; ostringstream msg;
msg << "(SharedMemory::readItem): дискретный датчик (heartbeat_ds_name) связанный с " << it.getProp("name"); msg << "(SharedMemory::readItem): дискретный датчик (heartbeat_ds_name) связанный с " << it.getProp("name");
if( dlog.is_warn() ) dwarn << msg.str() << endl;
dlog.warn() << msg.str() << endl;
} }
} }
else else
...@@ -474,11 +465,10 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec ) ...@@ -474,11 +465,10 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec )
{ {
ostringstream msg; ostringstream msg;
msg << "(SharedMemory::readItem): Не найден ID для дискретного датчика (heartbeat_ds_name) связанного с " << it.getProp("name"); msg << "(SharedMemory::readItem): Не найден ID для дискретного датчика (heartbeat_ds_name) связанного с " << it.getProp("name");
// Если уж задали имя для датчика, то он должен существовать.. // Если уж задали имя для датчика, то он должен существовать..
// поэтому завершаем процесс, если не нашли.. // поэтому завершаем процесс, если не нашли..
if( dlog.is_crit() ) dcrit << msg.str() << endl;
dlog.crit() << msg.str() << endl;
kill(getpid(),SIGTERM); kill(getpid(),SIGTERM);
// throw NameNotFound(msg.str()); // throw NameNotFound(msg.str());
} }
...@@ -493,8 +483,7 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec ) ...@@ -493,8 +483,7 @@ bool SharedMemory::readItem( UniXML& xml, UniXML_iterator& it, xmlNode* sec )
msg << "(SharedMemory::readItem): НЕ УКАЗАН id для " msg << "(SharedMemory::readItem): НЕ УКАЗАН id для "
<< it.getProp("name") << " секция " << sec; << it.getProp("name") << " секция " << sec;
if( dlog.is_crit() ) dcrit << msg.str() << endl;
dlog.crit() << msg.str() << endl;
kill(getpid(),SIGTERM); kill(getpid(),SIGTERM);
// throw NameNotFound(msg.str()); // throw NameNotFound(msg.str());
}; };
...@@ -511,10 +500,8 @@ SharedMemory* SharedMemory::init_smemory( int argc, const char* const* argv ) ...@@ -511,10 +500,8 @@ SharedMemory* SharedMemory::init_smemory( int argc, const char* const* argv )
if( dfile[0]!='.' && dfile[0]!='/' ) if( dfile[0]!='.' && dfile[0]!='/' )
dfile = conf->getConfDir() + dfile; dfile = conf->getConfDir() + dfile;
if( dlog.is_info() ) dinfo << "(smemory): datfile = " << dfile << endl;
dlog.info() << "(smemory): datfile = " << dfile << endl;
UniSetTypes::ObjectId ID = conf->getControllerID(conf->getArgParam("--smemory-id","SharedMemory")); UniSetTypes::ObjectId ID = conf->getControllerID(conf->getArgParam("--smemory-id","SharedMemory"));
if( ID == UniSetTypes::DefaultObjectId ) if( ID == UniSetTypes::DefaultObjectId )
{ {
...@@ -541,16 +528,14 @@ void SharedMemory::readEventList( std::string oname ) ...@@ -541,16 +528,14 @@ void SharedMemory::readEventList( std::string oname )
xmlNode* enode = conf->getNode(oname); xmlNode* enode = conf->getNode(oname);
if( enode == NULL ) if( enode == NULL )
{ {
if( dlog.is_warn() ) dwarn << myname << "(readEventList): " << oname << " не найден..." << endl;
dlog.warn() << myname << "(readEventList): " << oname << " не найден..." << endl;
return; return;
} }
UniXML_iterator it(enode); UniXML_iterator it(enode);
if( !it.goChildren() ) if( !it.goChildren() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(readEventList): <eventlist> пустой..." << endl;
dlog.warn() << myname << "(readEventList): <eventlist> пустой..." << endl;
return; return;
} }
...@@ -562,12 +547,11 @@ void SharedMemory::readEventList( std::string oname ) ...@@ -562,12 +547,11 @@ void SharedMemory::readEventList( std::string oname )
ObjectId oid = it.getIntProp("id"); ObjectId oid = it.getIntProp("id");
if( oid != 0 ) if( oid != 0 )
{ {
if( dlog.is_info() ) dinfo << myname << "(readEventList): add " << it.getProp("name") << endl;
dlog.info() << myname << "(readEventList): add " << it.getProp("name") << endl;
elst.push_back(oid); elst.push_back(oid);
} }
else if( dlog.is_crit() ) else
dlog.crit() << myname << "(readEventList): Не найден ID для " dcrit << myname << "(readEventList): Не найден ID для "
<< it.getProp("name") << endl; << it.getProp("name") << endl;
} }
} }
...@@ -589,9 +573,9 @@ void SharedMemory::sendEvent( UniSetTypes::SystemMessage& sm ) ...@@ -589,9 +573,9 @@ void SharedMemory::sendEvent( UniSetTypes::SystemMessage& sm )
} }
catch(...){}; catch(...){};
} }
if(!ok && dlog.is_crit() ) if(!ok)
dlog.crit() << myname << "(sendEvent): Объект " << (*it) << " НЕДОСТУПЕН" << endl; dcrit << myname << "(sendEvent): Объект " << (*it) << " НЕДОСТУПЕН" << endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -608,22 +592,19 @@ void SharedMemory::loggingInfo( SensorMessage& sm ) ...@@ -608,22 +592,19 @@ void SharedMemory::loggingInfo( SensorMessage& sm )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void SharedMemory::buildHistoryList( xmlNode* cnode ) void SharedMemory::buildHistoryList( xmlNode* cnode )
{ {
if( dlog.is_info() ) dinfo << myname << "(buildHistoryList): ..." << endl;
dlog.info() << myname << "(buildHistoryList): ..." << endl;
UniXML* xml = conf->getConfXML(); UniXML* xml = conf->getConfXML();
if( !xml ) if( !xml )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildHistoryList): xml=NULL?!" << endl;
dlog.warn() << myname << "(buildHistoryList): xml=NULL?!" << endl;
return; return;
} }
xmlNode* n = xml->extFindNode(cnode,1,1,"History",""); xmlNode* n = xml->extFindNode(cnode,1,1,"History","");
if( !n ) if( !n )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildHistoryList): <History> not found. ignore..." << endl;
dlog.warn() << myname << "(buildHistoryList): <History> not found. ignore..." << endl;
hist.clear(); hist.clear();
return; return;
} }
...@@ -633,8 +614,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -633,8 +614,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
bool no_history = conf->getArgInt("--sm-no-history",it.getProp("no_history")); bool no_history = conf->getArgInt("--sm-no-history",it.getProp("no_history"));
if( no_history ) if( no_history )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildHistoryList): no_history='1'.. history skipped..." << endl;
dlog.warn() << myname << "(buildHistoryList): no_history='1'.. history skipped..." << endl;
hist.clear(); hist.clear();
return; return;
} }
...@@ -645,8 +625,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -645,8 +625,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
if( !it.goChildren() ) if( !it.goChildren() )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildHistoryList): <History> empty. ignore..." << endl;
dlog.warn() << myname << "(buildHistoryList): <History> empty. ignore..." << endl;
return; return;
} }
...@@ -665,8 +644,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -665,8 +644,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
hi.fuse_id = conf->getSensorID(it.getProp("fuse_id")); hi.fuse_id = conf->getSensorID(it.getProp("fuse_id"));
if( hi.fuse_id == DefaultObjectId ) if( hi.fuse_id == DefaultObjectId )
{ {
if( dlog.is_warn() ) dwarn << myname << "(buildHistory): not found sensor ID for "
dlog.warn() << myname << "(buildHistory): not found sensor ID for "
<< it.getProp("fuse_id") << it.getProp("fuse_id")
<< " history item id=" << it.getProp("id") << " history item id=" << it.getProp("id")
<< " ..ignore.." << endl; << " ..ignore.." << endl;
...@@ -674,7 +652,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -674,7 +652,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
} }
hi.fuse_invert = it.getIntProp("fuse_invert"); hi.fuse_invert = it.getIntProp("fuse_invert");
hi.fuse_use_val = false; hi.fuse_use_val = false;
if( !it.getProp("fuse_value").empty() ) if( !it.getProp("fuse_value").empty() )
{ {
...@@ -682,8 +660,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -682,8 +660,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
hi.fuse_val = it.getIntProp("fuse_value"); hi.fuse_val = it.getIntProp("fuse_value");
} }
if( dlog.is_info() ) dinfo << myname << "(buildHistory): add fuse_id=" << hi.fuse_id
dlog.info() << myname << "(buildHistory): add fuse_id=" << hi.fuse_id
<< " fuse_val=" << hi.fuse_val << " fuse_val=" << hi.fuse_val
<< " fuse_use_val=" << hi.fuse_use_val << " fuse_use_val=" << hi.fuse_use_val
<< " fuse_invert=" << hi.fuse_invert << " fuse_invert=" << hi.fuse_invert
...@@ -694,8 +671,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -694,8 +671,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
hist.push_back(hi); hist.push_back(hi);
} }
if( dlog.is_info() ) dinfo << myname << "(buildHistoryList): history logs count=" << hist.size() << endl;
dlog.info() << myname << "(buildHistoryList): history logs count=" << hist.size() << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void SharedMemory::checkHistoryFilter( UniXML_iterator& xit ) void SharedMemory::checkHistoryFilter( UniXML_iterator& xit )
...@@ -717,11 +693,10 @@ void SharedMemory::checkHistoryFilter( UniXML_iterator& xit ) ...@@ -717,11 +693,10 @@ void SharedMemory::checkHistoryFilter( UniXML_iterator& xit )
ai.id = conf->getSensorID(xit.getProp("name")); ai.id = conf->getSensorID(xit.getProp("name"));
if( ai.id == DefaultObjectId ) if( ai.id == DefaultObjectId )
{ {
if( dlog.is_warn() ) dwarn << myname << "(checkHistoryFilter): not found sensor ID for " << xit.getProp("name") << endl;
dlog.warn() << myname << "(checkHistoryFilter): not found sensor ID for " << xit.getProp("name") << endl;
continue; continue;
} }
it->hlst.push_back(ai); it->hlst.push_back(ai);
} }
} }
...@@ -780,13 +755,10 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* ) ...@@ -780,13 +755,10 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* )
sm_tv_usec = s_it->second.tv_usec; sm_tv_usec = s_it->second.tv_usec;
} }
if( dlog.is_info() ) dinfo << myname << "(updateHistory): "
{
dlog.info() << myname << "(updateHistory): "
<< " sid=" << s_it->second.si.id << " sid=" << s_it->second.si.id
<< " value=" << value << " value=" << value
<< endl; << endl;
}
for( HistoryItList::iterator it1=i->second.begin(); it1!=i->second.end(); ++it1 ) for( HistoryItList::iterator it1=i->second.begin(); it1!=i->second.end(); ++it1 )
{ {
...@@ -802,9 +774,8 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* ) ...@@ -802,9 +774,8 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* )
if( st ) if( st )
{ {
if( dlog.is_info() ) dinfo << myname << "(updateHistory): HISTORY EVENT for " << (*it) << endl;
dlog.info() << myname << "(updateHistory): HISTORY EVENT for " << (*it) << endl;
it->fuse_sec = sm_tv_sec; it->fuse_sec = sm_tv_sec;
it->fuse_usec = sm_tv_usec; it->fuse_usec = sm_tv_usec;
m_historySignal.emit( &(*it) ); m_historySignal.emit( &(*it) );
...@@ -822,8 +793,7 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* ) ...@@ -822,8 +793,7 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* )
if( !st ) if( !st )
{ {
if( dlog.is_info() ) dinfo << myname << "(updateHistory): HISTORY EVENT for " << (*it) << endl;
dlog.info() << myname << "(updateHistory): HISTORY EVENT for " << (*it) << endl;
it->fuse_sec = sm_tv_sec; it->fuse_sec = sm_tv_sec;
it->fuse_usec = sm_tv_usec; it->fuse_usec = sm_tv_usec;
...@@ -834,8 +804,7 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* ) ...@@ -834,8 +804,7 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* )
{ {
if( value == it->fuse_val ) if( value == it->fuse_val )
{ {
if( dlog.is_info() ) dinfo << myname << "(updateHistory): HISTORY EVENT for " << (*it) << endl;
dlog.info() << myname << "(updateHistory): HISTORY EVENT for " << (*it) << endl;
it->fuse_sec = sm_tv_sec; it->fuse_sec = sm_tv_sec;
it->fuse_usec = sm_tv_usec; it->fuse_usec = sm_tv_usec;
......
...@@ -30,12 +30,12 @@ sender2(0) ...@@ -30,12 +30,12 @@ sender2(0)
// определяем фильтр // определяем фильтр
s_field = conf->getArgParam("--" + prefix + "-filter-field"); s_field = conf->getArgParam("--" + prefix + "-filter-field");
s_fvalue = conf->getArgParam("--" + prefix + "-filter-value"); s_fvalue = conf->getArgParam("--" + prefix + "-filter-value");
dlog.info() << myname << "(init): read filter-field='" << s_field dinfo << myname << "(init): read filter-field='" << s_field
<< "' filter-value='" << s_fvalue << "'" << endl; << "' filter-value='" << s_fvalue << "'" << endl;
const string n_field(conf->getArgParam("--" + prefix + "-nodes-filter-field")); const string n_field(conf->getArgParam("--" + prefix + "-nodes-filter-field"));
const string n_fvalue(conf->getArgParam("--" + prefix + "-nodes-filter-value")); const string n_fvalue(conf->getArgParam("--" + prefix + "-nodes-filter-value"));
dlog.info() << myname << "(init): read nodes-filter-field='" << n_field dinfo << myname << "(init): read nodes-filter-field='" << n_field
<< "' nodes-filter-value='" << n_fvalue << "'" << endl; << "' nodes-filter-value='" << n_fvalue << "'" << endl;
int recvTimeout = conf->getArgPInt("--" + prefix + "-recv-timeout",it.getProp("recvTimeout"), 5000); int recvTimeout = conf->getArgPInt("--" + prefix + "-recv-timeout",it.getProp("recvTimeout"), 5000);
...@@ -66,10 +66,10 @@ sender2(0) ...@@ -66,10 +66,10 @@ sender2(0)
{ {
if( n_it.getIntProp("unet_ignore") ) if( n_it.getIntProp("unet_ignore") )
{ {
dlog.info() << myname << "(init): unet_ignore.. for " << n_it.getProp("name") << endl; dinfo << myname << "(init): unet_ignore.. for " << n_it.getProp("name") << endl;
continue; continue;
} }
// проверяем фильтры для подсетей // проверяем фильтры для подсетей
if( !UniSetTypes::check_filter(n_it,n_field,n_fvalue) ) if( !UniSetTypes::check_filter(n_it,n_field,n_fvalue) )
continue; continue;
...@@ -87,18 +87,17 @@ sender2(0) ...@@ -87,18 +87,17 @@ sender2(0)
h2 = default_ip2; h2 = default_ip2;
if( !n_it.getProp("unet_broadcast_ip2").empty() ) if( !n_it.getProp("unet_broadcast_ip2").empty() )
h2 = n_it.getProp("unet_broadcast_ip2"); h2 = n_it.getProp("unet_broadcast_ip2");
if( h.empty() ) if( h.empty() )
{ {
ostringstream err; ostringstream err;
err << myname << "(init): Unknown broadcast IP for " << n_it.getProp("name"); err << myname << "(init): Unknown broadcast IP for " << n_it.getProp("name");
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
if( h2.empty() && dlog.is_info() ) if( h2.empty() )
dlog.info() << myname << "(init): ip2 not used..." << endl; dinfo << myname << "(init): ip2 not used..." << endl;
// Если указано поле unet_port - используем его // Если указано поле unet_port - используем его
// Иначе port = идентификатору узла // Иначе port = идентификатору узла
...@@ -115,14 +114,12 @@ sender2(0) ...@@ -115,14 +114,12 @@ sender2(0)
{ {
if( no_sender ) if( no_sender )
{ {
if( dlog.is_info() ) dinfo << myname << "(init): sender OFF for this node...("
dlog.info() << myname << "(init): sender OFF for this node...("
<< n_it.getProp("name") << ")" << endl; << n_it.getProp("name") << ")" << endl;
continue; continue;
} }
if( dlog.is_info() ) dinfo << myname << "(init): init sender.. my node " << n_it.getProp("name") << endl;
dlog.info() << myname << "(init): init sender.. my node " << n_it.getProp("name") << endl;
sender = new UNetSender(h,p,shm,s_field,s_fvalue,ic); sender = new UNetSender(h,p,shm,s_field,s_fvalue,ic);
sender->setSendPause(sendpause); sender->setSendPause(sendpause);
...@@ -131,8 +128,7 @@ sender2(0) ...@@ -131,8 +128,7 @@ sender2(0)
// создаём "писателя" для второго канала если задан // создаём "писателя" для второго канала если задан
if( !h2.empty() ) if( !h2.empty() )
{ {
if( dlog.is_info() ) dinfo << myname << "(init): init sender2.. my node " << n_it.getProp("name") << endl;
dlog.info() << myname << "(init): init sender2.. my node " << n_it.getProp("name") << endl;
sender2 = new UNetSender(h2,p2,shm,s_field,s_fvalue,ic); sender2 = new UNetSender(h2,p2,shm,s_field,s_fvalue,ic);
sender2->setSendPause(sendpause); sender2->setSendPause(sendpause);
} }
...@@ -142,19 +138,17 @@ sender2(0) ...@@ -142,19 +138,17 @@ sender2(0)
// т.е. это "резервный канал", то игнорируем ошибку его создания // т.е. это "резервный канал", то игнорируем ошибку его создания
// при запуске "интерфейс" может быть и не доступен... // при запуске "интерфейс" может быть и не доступен...
sender2 = 0; sender2 = 0;
dlog.crit() << myname << "(ignore): DON`T CREATE 'UNetSender' for " << h2 << ":" << p2 << endl; dcrit << myname << "(ignore): DON`T CREATE 'UNetSender' for " << h2 << ":" << p2 << endl;
} }
continue; continue;
} }
if( dlog.is_info() ) dinfo << myname << "(init): add UNetReceiver for " << h << ":" << p << endl;
dlog.info() << myname << "(init): add UNetReceiver for " << h << ":" << p << endl;
if( checkExistUNetHost(h,p) ) if( checkExistUNetHost(h,p) )
{ {
if( dlog.is_info() ) dinfo << myname << "(init): " << h << ":" << p << " already added! Ignore.." << endl;
dlog.info() << myname << "(init): " << h << ":" << p << " already added! Ignore.." << endl;
continue; continue;
} }
...@@ -169,8 +163,7 @@ sender2(0) ...@@ -169,8 +163,7 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << ": Unknown RespondID.. Not found id for '" << s_resp_id << "'" << endl; err << myname << ": Unknown RespondID.. Not found id for '" << s_resp_id << "'" << endl;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -184,12 +177,11 @@ sender2(0) ...@@ -184,12 +177,11 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << ": Unknown RespondID(2).. Not found id for '" << s_resp2_id << "'" << endl; err << myname << ": Unknown RespondID(2).. Not found id for '" << s_resp2_id << "'" << endl;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
string s_lp_id(n_it.getProp("unet_lostpackets1_id")); string s_lp_id(n_it.getProp("unet_lostpackets1_id"));
UniSetTypes::ObjectId lp_id = UniSetTypes::DefaultObjectId; UniSetTypes::ObjectId lp_id = UniSetTypes::DefaultObjectId;
if( !s_lp_id.empty() ) if( !s_lp_id.empty() )
...@@ -199,12 +191,11 @@ sender2(0) ...@@ -199,12 +191,11 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << ": Unknown LostPacketsID.. Not found id for '" << s_lp_id << "'" << endl; err << myname << ": Unknown LostPacketsID.. Not found id for '" << s_lp_id << "'" << endl;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
string s_lp2_id(n_it.getProp("unet_lostpackets2_id")); string s_lp2_id(n_it.getProp("unet_lostpackets2_id"));
UniSetTypes::ObjectId lp2_id = UniSetTypes::DefaultObjectId; UniSetTypes::ObjectId lp2_id = UniSetTypes::DefaultObjectId;
if( !s_lp2_id.empty() ) if( !s_lp2_id.empty() )
...@@ -214,8 +205,7 @@ sender2(0) ...@@ -214,8 +205,7 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << ": Unknown LostPacketsID(2).. Not found id for '" << s_lp2_id << "'" << endl; err << myname << ": Unknown LostPacketsID(2).. Not found id for '" << s_lp2_id << "'" << endl;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -229,8 +219,7 @@ sender2(0) ...@@ -229,8 +219,7 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << ": Unknown LostPacketsID(comm).. Not found id for '" << s_lp_comm_id << "'" << endl; err << myname << ": Unknown LostPacketsID(comm).. Not found id for '" << s_lp_comm_id << "'" << endl;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -244,14 +233,12 @@ sender2(0) ...@@ -244,14 +233,12 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << ": Unknown RespondID(comm).. Not found id for '" << s_resp_comm_id << "'" << endl; err << myname << ": Unknown RespondID(comm).. Not found id for '" << s_resp_comm_id << "'" << endl;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
if( dlog.is_info() ) dinfo << myname << "(init): (node='" << n << "') add receiver "
dlog.info() << myname << "(init): (node='" << n << "') add receiver "
<< h2 << ":" << p2 << endl; << h2 << ":" << p2 << endl;
UNetReceiver* r = new UNetReceiver(h,p,shm); UNetReceiver* r = new UNetReceiver(h,p,shm);
...@@ -275,10 +262,9 @@ sender2(0) ...@@ -275,10 +262,9 @@ sender2(0)
{ {
if( !h2.empty() ) // создаём читателя впо второму каналу if( !h2.empty() ) // создаём читателя впо второму каналу
{ {
if( dlog.is_info() ) dinfo << myname << "(init): (node='" << n << "') add reserv receiver "
dlog.info() << myname << "(init): (node='" << n << "') add reserv receiver "
<< h2 << ":" << p2 << endl; << h2 << ":" << p2 << endl;
r2 = new UNetReceiver(h2,p2,shm); r2 = new UNetReceiver(h2,p2,shm);
// т.к. это резервный канал (по началу блокируем его) // т.к. это резервный канал (по началу блокируем его)
...@@ -300,8 +286,7 @@ sender2(0) ...@@ -300,8 +286,7 @@ sender2(0)
// т.е. это "резервный канал", то игнорируем ошибку его создания // т.е. это "резервный канал", то игнорируем ошибку его создания
// при запуске "интерфейс" может быть и не доступен... // при запуске "интерфейс" может быть и не доступен...
r2 = 0; r2 = 0;
if( dlog.is_crit() ) dcrit << myname << "(ignore): DON`T CREATE 'UNetReceiver' for " << h2 << ":" << p2 << endl;
dlog.crit() << myname << "(ignore): DON`T CREATE 'UNetReceiver' for " << h2 << ":" << p2 << endl;
} }
ReceiverInfo ri(r,r2); ReceiverInfo ri(r,r2);
...@@ -309,7 +294,7 @@ sender2(0) ...@@ -309,7 +294,7 @@ sender2(0)
ri.setLostPacketsID(lp_comm_id); ri.setLostPacketsID(lp_comm_id);
recvlist.push_back(ri); recvlist.push_back(ri);
} }
// ------------------------------- // -------------------------------
// ********** HEARTBEAT ************* // ********** HEARTBEAT *************
string heart = conf->getArgParam("--" + prefix + "-heartbeat-id",it.getProp("heartbeat_id")); string heart = conf->getArgParam("--" + prefix + "-heartbeat-id",it.getProp("heartbeat_id"));
...@@ -320,8 +305,7 @@ sender2(0) ...@@ -320,8 +305,7 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << ": не найден идентификатор для датчика 'HeartBeat' " << heart; err << myname << ": не найден идентификатор для датчика 'HeartBeat' " << heart;
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -341,14 +325,12 @@ sender2(0) ...@@ -341,14 +325,12 @@ sender2(0)
{ {
ostringstream err; ostringstream err;
err << myname << "(init): test_id unknown. 'TestMode_S' not found..."; err << myname << "(init): test_id unknown. 'TestMode_S' not found...";
if( dlog.is_crit() ) dcrit << myname << "(init): " << err.str() << endl;
dlog.crit() << myname << "(init): " << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
if( dlog.is_info() ) dinfo << myname << "(init): test_id=" << test_id << endl;
dlog.info() << myname << "(init): test_id=" << test_id << endl;
activateTimeout = conf->getArgPInt("--" + prefix + "-activate-timeout", 20000); activateTimeout = conf->getArgPInt("--" + prefix + "-activate-timeout", 20000);
} }
...@@ -404,8 +386,7 @@ void UNetExchange::waitSMReady() ...@@ -404,8 +386,7 @@ void UNetExchange::waitSMReady()
{ {
ostringstream err; ostringstream err;
err << myname << "(waitSMReady): Не дождались готовности SharedMemory к работе в течение " << ready_timeout << " мсек"; err << myname << "(waitSMReady): Не дождались готовности SharedMemory к работе в течение " << ready_timeout << " мсек";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
} }
...@@ -433,8 +414,7 @@ void UNetExchange::step() ...@@ -433,8 +414,7 @@ void UNetExchange::step()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( dlog.is_crit() ) dcrit << myname << "(step): (hb) " << ex << std::endl;
dlog.crit() << myname << "(step): (hb) " << ex << std::endl;
} }
} }
...@@ -452,14 +432,13 @@ void UNetExchange::ReceiverInfo::step( SMInterface* shm, const std::string& myna ...@@ -452,14 +432,13 @@ void UNetExchange::ReceiverInfo::step( SMInterface* shm, const std::string& myna
bool resp = ( (r1 && r1->isRecvOK()) || (r2 && r2->isRecvOK()) ); bool resp = ( (r1 && r1->isRecvOK()) || (r2 && r2->isRecvOK()) );
if( respondInvert ) if( respondInvert )
resp = !resp; resp = !resp;
shm->localSetValue(itRespond,sidRespond,resp,shm->ID()); shm->localSetValue(itRespond,sidRespond,resp,shm->ID());
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(ReceiverInfo::step): (respond): " << ex << std::endl;
dlog.crit() << myname << "(ReceiverInfo::step): (respond): " << ex << std::endl;
} }
try try
...@@ -477,9 +456,8 @@ void UNetExchange::ReceiverInfo::step( SMInterface* shm, const std::string& myna ...@@ -477,9 +456,8 @@ void UNetExchange::ReceiverInfo::step( SMInterface* shm, const std::string& myna
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(ReceiverInfo::step): (lostpackets): " << ex << std::endl;
dlog.crit() << myname << "(ReceiverInfo::step): (lostpackets): " << ex << std::endl; }
}
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetExchange::processingMessage( UniSetTypes::VoidMessage *msg ) void UNetExchange::processingMessage( UniSetTypes::VoidMessage *msg )
...@@ -515,20 +493,16 @@ void UNetExchange::processingMessage( UniSetTypes::VoidMessage *msg ) ...@@ -515,20 +493,16 @@ void UNetExchange::processingMessage( UniSetTypes::VoidMessage *msg )
} }
catch( SystemError& ex ) catch( SystemError& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(SystemError): " << ex << std::endl;
dlog.crit() << myname << "(SystemError): " << ex << std::endl;
// throw SystemError(ex);
raise(SIGTERM); raise(SIGTERM);
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): " << ex << std::endl;
dlog.crit() << myname << "(processingMessage): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_crit() ) dcrit << myname << "(processingMessage): catch ..." << std::endl;
dlog.crit() << myname << "(processingMessage): catch ..." << std::endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -551,16 +525,16 @@ void UNetExchange::sysCommand( UniSetTypes::SystemMessage *sm ) ...@@ -551,16 +525,16 @@ void UNetExchange::sysCommand( UniSetTypes::SystemMessage *sm )
if( activated ) if( activated )
break; break;
} }
if( !activated && dlog.is_crit() ) if( !activated )
dlog.crit() << myname << "(sysCommand): ************* don`t activate?! ************" << endl; dcrit << myname << "(sysCommand): ************* don`t activate?! ************" << endl;
{ {
UniSetTypes::uniset_rwmutex_rlock l(mutex_start); UniSetTypes::uniset_rwmutex_rlock l(mutex_start);
if( shm->isLocalwork() ) if( shm->isLocalwork() )
askSensors(UniversalIO::UIONotify); askSensors(UniversalIO::UIONotify);
} }
askTimer(tmStep,steptime); askTimer(tmStep,steptime);
startReceivers(); startReceivers();
if( sender ) if( sender )
...@@ -622,9 +596,8 @@ void UNetExchange::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -622,9 +596,8 @@ void UNetExchange::askSensors( UniversalIO::UIOCommand cmd )
err << myname err << myname
<< "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение " << "(askSensors): Не дождались готовности(work) SharedMemory к работе в течение "
<< activateTimeout << " мсек"; << activateTimeout << " мсек";
if( dlog.is_crit() ) dcrit << err.str() << endl;
dlog.crit() << err.str() << endl;
kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс... kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -661,8 +634,7 @@ bool UNetExchange::activateObject() ...@@ -661,8 +634,7 @@ bool UNetExchange::activateObject()
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UNetExchange::sigterm( int signo ) void UNetExchange::sigterm( int signo )
{ {
if( dlog.is_info() ) dinfo << myname << ": ********* SIGTERM(" << signo <<") ********" << endl;
dlog.info() << myname << ": ********* SIGTERM(" << signo <<") ********" << endl;
activated = false; activated = false;
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it ) for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
{ {
...@@ -746,8 +718,7 @@ UNetExchange* UNetExchange::init_unetexchange( int argc, const char* argv[], Uni ...@@ -746,8 +718,7 @@ UNetExchange* UNetExchange::init_unetexchange( int argc, const char* argv[], Uni
return 0; return 0;
} }
if( dlog.is_info() ) dinfo << "(unetexchange): name = " << name << "(" << ID << ")" << endl;
dlog.info() << "(unetexchange): name = " << name << "(" << ID << ")" << endl;
return new UNetExchange(ID,icID,ic,prefix); return new UNetExchange(ID,icID,ic,prefix);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -771,21 +742,19 @@ void UNetExchange::receiverEvent( UNetReceiver* r, UNetReceiver::Event ev ) ...@@ -771,21 +742,19 @@ void UNetExchange::receiverEvent( UNetReceiver* r, UNetReceiver::Event ev )
it->r1->setLockUpdate(true); it->r1->setLockUpdate(true);
it->r2->setLockUpdate(false); it->r2->setLockUpdate(false);
if( dlog.is_info() ) dinfo << myname << "(event): " << r->getName()
dlog.info() << myname << "(event): " << r->getName()
<< ": timeout for channel1.. select channel 2" << endl; << ": timeout for channel1.. select channel 2" << endl;
return; return;
} }
if( it->r2 == r ) if( it->r2 == r )
{ {
// пропала связь по второму каналу... // пропала связь по второму каналу...
// переключаемся на первый // переключаемся на первый
it->r1->setLockUpdate(false); it->r1->setLockUpdate(false);
it->r2->setLockUpdate(true); it->r2->setLockUpdate(true);
if( dlog.is_info() ) dinfo << myname << "(event): " << r->getName()
dlog.info() << myname << "(event): " << r->getName()
<< ": timeout for channel2.. select channel 1" << endl; << ": timeout for channel2.. select channel 1" << endl;
return; return;
} }
......
...@@ -64,17 +64,17 @@ a_cache_init_ok(false) ...@@ -64,17 +64,17 @@ a_cache_init_ok(false)
{ {
ostringstream s; ostringstream s;
s << myname << ": " << e.what(); s << myname << ": " << e.what();
dlog.crit() << s.str() << std::endl; dcrit << s.str() << std::endl;
throw SystemError(s.str()); throw SystemError(s.str());
} }
catch( ... ) catch( ... )
{ {
ostringstream s; ostringstream s;
s << myname << ": catch..."; s << myname << ": catch...";
dlog.crit() << s.str() << std::endl; dcrit << s.str() << std::endl;
throw SystemError(s.str()); throw SystemError(s.str());
} }
r_thr = new ThreadCreator<UNetReceiver>(this, &UNetReceiver::receive); r_thr = new ThreadCreator<UNetReceiver>(this, &UNetReceiver::receive);
u_thr = new ThreadCreator<UNetReceiver>(this, &UNetReceiver::update); u_thr = new ThreadCreator<UNetReceiver>(this, &UNetReceiver::update);
...@@ -177,13 +177,13 @@ void UNetReceiver::update() ...@@ -177,13 +177,13 @@ void UNetReceiver::update()
} }
catch( UniSetTypes::Exception& ex) catch( UniSetTypes::Exception& ex)
{ {
dlog.crit() << myname << "(update): " << ex << std::endl; dcrit << myname << "(update): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << myname << "(update): catch ..." << std::endl; dcrit << myname << "(update): catch ..." << std::endl;
} }
if( sidRespond!=DefaultObjectId ) if( sidRespond!=DefaultObjectId )
{ {
try try
...@@ -193,10 +193,10 @@ void UNetReceiver::update() ...@@ -193,10 +193,10 @@ void UNetReceiver::update()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
dlog.crit() << myname << "(step): (respond) " << ex << std::endl; dcrit << myname << "(step): (respond) " << ex << std::endl;
} }
} }
if( sidLostPackets!=DefaultObjectId ) if( sidLostPackets!=DefaultObjectId )
{ {
try try
...@@ -205,7 +205,7 @@ void UNetReceiver::update() ...@@ -205,7 +205,7 @@ void UNetReceiver::update()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
dlog.crit() << myname << "(step): (lostPackets) " << ex << std::endl; dcrit << myname << "(step): (lostPackets) " << ex << std::endl;
} }
} }
...@@ -279,14 +279,14 @@ void UNetReceiver::real_update() ...@@ -279,14 +279,14 @@ void UNetReceiver::real_update()
{ {
try try
{ {
long id = p.dID(i); long id = p.dID(i);
bool val = p.dValue(i); bool val = p.dValue(i);
ItemInfo& ii(d_icache[i]); ItemInfo& ii(d_icache[i]);
if( ii.id != id ) if( ii.id != id )
{ {
dlog.warn() << myname << "(update): reinit cache for sid=" << id << endl; dwarn << myname << "(update): reinit cache for sid=" << id << endl;
ii.id = id; ii.id = id;
shm->initIterator(ii.ioit); shm->initIterator(ii.ioit);
} }
...@@ -297,19 +297,19 @@ void UNetReceiver::real_update() ...@@ -297,19 +297,19 @@ void UNetReceiver::real_update()
if( lockUpdate ) if( lockUpdate )
continue; continue;
} }
shm->localSetValue(ii.ioit,id,val,shm->ID()); shm->localSetValue(ii.ioit,id,val,shm->ID());
} }
catch( UniSetTypes::Exception& ex) catch( UniSetTypes::Exception& ex)
{ {
dlog.crit() << myname << "(update): " << ex << std::endl; dcrit << myname << "(update): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << myname << "(update): catch ..." << std::endl; dcrit << myname << "(update): catch ..." << std::endl;
} }
} }
// Обработка аналоговых // Обработка аналоговых
for( size_t i=0; i<p.acount; i++ ) for( size_t i=0; i<p.acount; i++ )
{ {
...@@ -319,7 +319,7 @@ void UNetReceiver::real_update() ...@@ -319,7 +319,7 @@ void UNetReceiver::real_update()
ItemInfo& ii(a_icache[i]); ItemInfo& ii(a_icache[i]);
if( ii.id != d.id ) if( ii.id != d.id )
{ {
dlog.warn() << myname << "(update): reinit cache for sid=" << d.id << endl; dwarn << myname << "(update): reinit cache for sid=" << d.id << endl;
ii.id = d.id; ii.id = d.id;
shm->initIterator(ii.ioit); shm->initIterator(ii.ioit);
} }
...@@ -330,16 +330,16 @@ void UNetReceiver::real_update() ...@@ -330,16 +330,16 @@ void UNetReceiver::real_update()
if( lockUpdate ) if( lockUpdate )
continue; continue;
} }
shm->localSetValue(ii.ioit,d.id,d.val,shm->ID()); shm->localSetValue(ii.ioit,d.id,d.val,shm->ID());
} }
catch( UniSetTypes::Exception& ex) catch( UniSetTypes::Exception& ex)
{ {
dlog.crit() << myname << "(update): " << ex << std::endl; dcrit << myname << "(update): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << myname << "(update): catch ..." << std::endl; dcrit << myname << "(update): catch ..." << std::endl;
} }
} }
} }
...@@ -356,8 +356,7 @@ void UNetReceiver::stop() ...@@ -356,8 +356,7 @@ void UNetReceiver::stop()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetReceiver::receive() void UNetReceiver::receive()
{ {
if( dlog.is_info() ) dinfo << myname << ": ******************* receive start" << endl;
dlog.info() << myname << ": ******************* receive start" << endl;
{ {
uniset_rwmutex_wrlock l(tmMutex); uniset_rwmutex_wrlock l(tmMutex);
...@@ -377,19 +376,16 @@ void UNetReceiver::receive() ...@@ -377,19 +376,16 @@ void UNetReceiver::receive()
} }
catch( UniSetTypes::Exception& ex) catch( UniSetTypes::Exception& ex)
{ {
if( dlog.is_warn() ) dwarn << myname << "(receive): " << ex << std::endl;
dlog.warn() << myname << "(receive): " << ex << std::endl;
} }
catch( std::exception& e ) catch( std::exception& e )
{ {
if( dlog.is_warn() ) dwarn << myname << "(receive): " << e.what()<< std::endl;
dlog.warn() << myname << "(receive): " << e.what()<< std::endl;
} }
catch(...) catch(...)
{ {
if( dlog.is_warn() ) dwarn << myname << "(receive): catch ..." << std::endl;
dlog.warn() << myname << "(receive): catch ..." << std::endl; }
}
// делаем через промежуточную переменную // делаем через промежуточную переменную
// чтобы поскорее освободить mutex // чтобы поскорее освободить mutex
...@@ -410,8 +406,7 @@ void UNetReceiver::receive() ...@@ -410,8 +406,7 @@ void UNetReceiver::receive()
msleep(recvpause); msleep(recvpause);
} }
if( dlog.is_info() ) dinfo << myname << ": ************* receive FINISH **********" << endl;
dlog.info() << myname << ": ************* receive FINISH **********" << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
bool UNetReceiver::recv() bool UNetReceiver::recv()
...@@ -424,7 +419,7 @@ bool UNetReceiver::recv() ...@@ -424,7 +419,7 @@ bool UNetReceiver::recv()
size_t sz = UniSetUDP::UDPMessage::getMessage(pack,r_buf); size_t sz = UniSetUDP::UDPMessage::getMessage(pack,r_buf);
if( sz == 0 ) if( sz == 0 )
{ {
dlog.crit() << myname << "(receive): FAILED RECEIVE DATA ret=" << ret << endl; dcrit << myname << "(receive): FAILED RECEIVE DATA ret=" << ret << endl;
return false; return false;
} }
...@@ -439,11 +434,11 @@ bool UNetReceiver::recv() ...@@ -439,11 +434,11 @@ bool UNetReceiver::recv()
// Обычно "кольцевой". Т.е. если не успели обработать и "вынуть" из буфера информацию.. он будет переписан новыми данными // Обычно "кольцевой". Т.е. если не успели обработать и "вынуть" из буфера информацию.. он будет переписан новыми данными
if( waitClean ) if( waitClean )
{ {
dlog.crit() << myname << "(receive): reset qtmp.." << endl; dcrit << myname << "(receive): reset qtmp.." << endl;
while( !qtmp.empty() ) while( !qtmp.empty() )
qtmp.pop(); qtmp.pop();
} }
waitClean = true; waitClean = true;
} }
...@@ -510,7 +505,7 @@ void UNetReceiver::initDCache( UniSetUDP::UDPMessage& pack, bool force ) ...@@ -510,7 +505,7 @@ void UNetReceiver::initDCache( UniSetUDP::UDPMessage& pack, bool force )
if( !force && pack.dcount == d_icache.size() ) if( !force && pack.dcount == d_icache.size() )
return; return;
dlog.info() << myname << ": init icache.." << endl; dinfo << myname << ": init icache.." << endl;
d_cache_init_ok = true; d_cache_init_ok = true;
d_icache.resize(pack.dcount); d_icache.resize(pack.dcount);
...@@ -532,7 +527,7 @@ void UNetReceiver::initACache( UniSetUDP::UDPMessage& pack, bool force ) ...@@ -532,7 +527,7 @@ void UNetReceiver::initACache( UniSetUDP::UDPMessage& pack, bool force )
if( !force && pack.acount == a_icache.size() ) if( !force && pack.acount == a_icache.size() )
return; return;
dlog.info() << myname << ": init icache.." << endl; dinfo << myname << ": init icache.." << endl;
a_cache_init_ok = true; a_cache_init_ok = true;
a_icache.resize(pack.acount); a_icache.resize(pack.acount);
......
...@@ -31,11 +31,10 @@ s_thr(0) ...@@ -31,11 +31,10 @@ s_thr(0)
// определяем фильтр // определяем фильтр
// s_field = conf->getArgParam("--udp-filter-field"); // s_field = conf->getArgParam("--udp-filter-field");
// s_fvalue = conf->getArgParam("--udp-filter-value"); // s_fvalue = conf->getArgParam("--udp-filter-value");
dlog.info() << myname << "(init): read filter-field='" << s_field dinfo << myname << "(init): read filter-field='" << s_field
<< "' filter-value='" << s_fvalue << "'" << endl; << "' filter-value='" << s_fvalue << "'" << endl;
if( dlog.is_info() ) dinfo << "(UNetSender): UDP set to " << s_host << ":" << port << endl;
dlog.info() << "(UNetSender): UDP set to " << s_host << ":" << port << endl;
ost::Thread::setException(ost::Thread::throwException); ost::Thread::setException(ost::Thread::throwException);
try try
...@@ -47,14 +46,14 @@ s_thr(0) ...@@ -47,14 +46,14 @@ s_thr(0)
{ {
ostringstream s; ostringstream s;
s << myname << ": " << e.what(); s << myname << ": " << e.what();
dlog.crit() << s.str() << std::endl; dcrit << s.str() << std::endl;
throw SystemError(s.str()); throw SystemError(s.str());
} }
catch( ... ) catch( ... )
{ {
ostringstream s; ostringstream s;
s << myname << ": catch..."; s << myname << ": catch...";
dlog.crit() << s.str() << std::endl; dcrit << s.str() << std::endl;
throw SystemError(s.str()); throw SystemError(s.str());
} }
...@@ -65,7 +64,7 @@ s_thr(0) ...@@ -65,7 +64,7 @@ s_thr(0)
{ {
readConfiguration(); readConfiguration();
dlist.resize(maxItem); dlist.resize(maxItem);
dlog.info() << myname << "(init): dlist size = " << dlist.size() << endl; dinfo << myname << "(init): dlist size = " << dlist.size() << endl;
} }
else else
ic->addReadItem( sigc::mem_fun(this,&UNetSender::readItem) ); ic->addReadItem( sigc::mem_fun(this,&UNetSender::readItem) );
...@@ -130,7 +129,7 @@ void UNetSender::updateItem( DMap::iterator& it, long value ) ...@@ -130,7 +129,7 @@ void UNetSender::updateItem( DMap::iterator& it, long value )
void UNetSender::send() void UNetSender::send()
{ {
dlist.resize(maxItem); dlist.resize(maxItem);
dlog.info() << myname << "(send): dlist size = " << dlist.size() << endl; dinfo << myname << "(send): dlist size = " << dlist.size() << endl;
/* /*
ost::IPV4Broadcast h = s_host.c_str(); ost::IPV4Broadcast h = s_host.c_str();
try try
...@@ -141,7 +140,7 @@ void UNetSender::send() ...@@ -141,7 +140,7 @@ void UNetSender::send()
{ {
ostringstream s; ostringstream s;
s << e.getString() << ": " << e.getSystemErrorString(); s << e.getString() << ": " << e.getSystemErrorString();
dlog.crit() << myname << "(poll): " << s.str() << endl; dcrit << myname << "(poll): " << s.str() << endl;
throw SystemError(s.str()); throw SystemError(s.str());
} }
*/ */
...@@ -151,30 +150,30 @@ void UNetSender::send() ...@@ -151,30 +150,30 @@ void UNetSender::send()
{ {
if( !shm->isLocalwork() ) if( !shm->isLocalwork() )
updateFromSM(); updateFromSM();
real_send(); real_send();
} }
catch( ost::SockException& e ) catch( ost::SockException& e )
{ {
dlog.warn() << myname << "(send): " << e.getString() << endl; dwarn << myname << "(send): " << e.getString() << endl;
} }
catch( UniSetTypes::Exception& ex) catch( UniSetTypes::Exception& ex)
{ {
dlog.warn() << myname << "(send): " << ex << std::endl; dwarn << myname << "(send): " << ex << std::endl;
} }
catch( std::exception& e ) catch( std::exception& e )
{ {
dlog.warn() << myname << "(send): " << e.what() << std::endl; dwarn << myname << "(send): " << e.what() << std::endl;
} }
catch(...) catch(...)
{ {
dlog.warn() << myname << "(send): catch ..." << std::endl; dwarn << myname << "(send): catch ..." << std::endl;
} }
msleep(sendpause); msleep(sendpause);
} }
dlog.info() << "************* execute FINISH **********" << endl; dinfo << "************* execute FINISH **********" << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetSender::real_send() void UNetSender::real_send()
...@@ -191,7 +190,7 @@ void UNetSender::real_send() ...@@ -191,7 +190,7 @@ void UNetSender::real_send()
mypack.transport_msg(s_msg); mypack.transport_msg(s_msg);
size_t ret = udp->send( (char*)s_msg.data, s_msg.len ); size_t ret = udp->send( (char*)s_msg.data, s_msg.len );
if( ret < s_msg.len ) if( ret < s_msg.len )
dlog.crit() << myname << "(real_send): FAILED ret=" << ret << " < sizeof=" << s_msg.len << endl; dcrit << myname << "(real_send): FAILED ret=" << ret << " < sizeof=" << s_msg.len << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetSender::stop() void UNetSender::stop()
...@@ -258,18 +257,17 @@ bool UNetSender::initItem( UniXML_iterator& it ) ...@@ -258,18 +257,17 @@ bool UNetSender::initItem( UniXML_iterator& it )
if( sid == DefaultObjectId ) if( sid == DefaultObjectId )
{ {
if( dlog ) dcrit << myname << "(readItem): ID not found for "
dlog.crit() << myname << "(readItem): ID not found for "
<< sname << endl; << sname << endl;
return false; return false;
} }
UItem p; UItem p;
p.iotype = UniSetTypes::getIOType(it.getProp("iotype")); p.iotype = UniSetTypes::getIOType(it.getProp("iotype"));
if( p.iotype == UniversalIO::UnknownIOType ) if( p.iotype == UniversalIO::UnknownIOType )
{ {
dlog.crit() << myname << "(readItem): Unknown iotype for sid=" << sid << endl; dcrit << myname << "(readItem): Unknown iotype for sid=" << sid << endl;
return false; return false;
} }
...@@ -280,10 +278,10 @@ bool UNetSender::initItem( UniXML_iterator& it ) ...@@ -280,10 +278,10 @@ bool UNetSender::initItem( UniXML_iterator& it )
p.pack_ind = mypack.addDData(sid,0); p.pack_ind = mypack.addDData(sid,0);
if ( p.pack_ind >= UniSetUDP::MaxDCount ) if ( p.pack_ind >= UniSetUDP::MaxDCount )
{ {
dlog.crit() << myname dcrit << myname
<< "(readItem): OVERFLOW! MAX UDP DIGITAL DATA LIMIT! max=" << "(readItem): OVERFLOW! MAX UDP DIGITAL DATA LIMIT! max="
<< UniSetUDP::MaxDCount << endl; << UniSetUDP::MaxDCount << endl;
raise(SIGTERM); raise(SIGTERM);
return false; return false;
} }
...@@ -293,22 +291,21 @@ bool UNetSender::initItem( UniXML_iterator& it ) ...@@ -293,22 +291,21 @@ bool UNetSender::initItem( UniXML_iterator& it )
p.pack_ind = mypack.addAData(sid,0); p.pack_ind = mypack.addAData(sid,0);
if ( p.pack_ind >= UniSetUDP::MaxACount ) if ( p.pack_ind >= UniSetUDP::MaxACount )
{ {
dlog.crit() << myname dcrit << myname
<< "(readItem): OVERFLOW! MAX UDP ANALOG DATA LIMIT! max=" << "(readItem): OVERFLOW! MAX UDP ANALOG DATA LIMIT! max="
<< UniSetUDP::MaxACount << endl; << UniSetUDP::MaxACount << endl;
raise(SIGTERM); raise(SIGTERM);
return false; return false;
} }
} }
if( maxItem >= dlist.size() ) if( maxItem >= dlist.size() )
dlist.resize(maxItem+10); dlist.resize(maxItem+10);
dlist[maxItem] = p; dlist[maxItem] = p;
maxItem++; maxItem++;
if( dlog.is_info() ) dinfo << myname << "(initItem): add " << p << endl;
dlog.info() << myname << "(initItem): add " << p << endl;
return true; return true;
} }
......
...@@ -52,7 +52,7 @@ int main( int argc, const char** argv ) ...@@ -52,7 +52,7 @@ int main( int argc, const char** argv )
UNetExchange* unet = UNetExchange::init_unetexchange(argc,argv,shmID); UNetExchange* unet = UNetExchange::init_unetexchange(argc,argv,shmID);
if( !unet ) if( !unet )
{ {
dlog.crit() << "(unetexchange): init failed.." << endl; dcrit << "(unetexchange): init failed.." << endl;
return 1; return 1;
} }
...@@ -72,11 +72,11 @@ int main( int argc, const char** argv ) ...@@ -72,11 +72,11 @@ int main( int argc, const char** argv )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.crit() << "(unetexchange): " << ex << std::endl; dcrit << "(unetexchange): " << ex << std::endl;
} }
catch(...) catch(...)
{ {
dlog.crit() << "(unetexchange): catch ..." << std::endl; dcrit << "(unetexchange): catch ..." << std::endl;
} }
while( waitpid(-1, 0, 0) > 0 ); while( waitpid(-1, 0, 0) > 0 );
......
...@@ -36,18 +36,18 @@ smReadyTimeout(15000) ...@@ -36,18 +36,18 @@ smReadyTimeout(15000)
s_field = conf->getArgParam("--" + prefix + "-filter-field"); s_field = conf->getArgParam("--" + prefix + "-filter-field");
s_fvalue = conf->getArgParam("--" + prefix + "-filter-value"); s_fvalue = conf->getArgParam("--" + prefix + "-filter-value");
dlog.info() << myname << "(init): read fileter-field='" << s_field dinfo << myname << "(init): read fileter-field='" << s_field
<< "' filter-value='" << s_fvalue << "'" << endl; << "' filter-value='" << s_fvalue << "'" << endl;
polltime = conf->getArgInt("--" + prefix + "-polltime",it.getProp("polltime")); polltime = conf->getArgInt("--" + prefix + "-polltime",it.getProp("polltime"));
if( polltime <= 0 ) if( polltime <= 0 )
polltime = 200; polltime = 200;
dlog.info() << myname << "(init): polltime=" << polltime << endl; dinfo << myname << "(init): polltime=" << polltime << endl;
int updatetime = conf->getArgInt("--" + prefix + "-updatetime",it.getProp("updatetime")); int updatetime = conf->getArgInt("--" + prefix + "-updatetime",it.getProp("updatetime"));
if( updatetime <= 0 ) if( updatetime <= 0 )
updatetime = 200; updatetime = 200;
dlog.info() << myname << "(init): updatetime=" << polltime << endl; dinfo << myname << "(init): updatetime=" << polltime << endl;
ptUpdate.setTiming(updatetime); ptUpdate.setTiming(updatetime);
...@@ -57,7 +57,7 @@ smReadyTimeout(15000) ...@@ -57,7 +57,7 @@ smReadyTimeout(15000)
else if( smReadyTimeout < 0 ) else if( smReadyTimeout < 0 )
smReadyTimeout = UniSetTimer::WaitUpTime; smReadyTimeout = UniSetTimer::WaitUpTime;
dlog.info() << myname << "(init): smReadyTimeout=" << smReadyTimeout << endl; dinfo << myname << "(init): smReadyTimeout=" << smReadyTimeout << endl;
if( it.goChildren() ) if( it.goChildren() )
{ {
...@@ -97,7 +97,7 @@ smReadyTimeout(15000) ...@@ -97,7 +97,7 @@ smReadyTimeout(15000)
ni.node = node; ni.node = node;
ni.sidConnection = conf->getSensorID(it.getProp("sid_connection")); ni.sidConnection = conf->getSensorID(it.getProp("sid_connection"));
dlog.info() << myname << ": add point " << n << ":" << n1 << endl; dinfo << myname << ": add point " << n << ":" << n1 << endl;
nlst.push_back(ni); nlst.push_back(ni);
} }
} }
...@@ -150,23 +150,21 @@ void UniExchange::execute() ...@@ -150,23 +150,21 @@ void UniExchange::execute()
bool ok = false; bool ok = false;
try try
{ {
if( dlog.is_info() ) dinfo << myname << ": connect to id=" << it->id << " node=" << it->node << endl;
dlog.info() << myname << ": connect to id=" << it->id << " node=" << it->node << endl;
IOController_i::ShortMapSeq_var sseq = ui.getSensors( it->id, it->node ); IOController_i::ShortMapSeq_var sseq = ui.getSensors( it->id, it->node );
ok = true; ok = true;
if( dlog.is_info() ) dinfo << myname << " update sensors from id=" << it->id << " node=" << it->node << endl;
dlog.info() << myname << " update sensors from id=" << it->id << " node=" << it->node << endl;
it->update(sseq,shm); it->update(sseq,shm);
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.info() << myname << "(execute): " << ex << endl; dwarn << myname << "(execute): " << ex << endl;
} }
catch( ... ) catch( ... )
{ {
dlog.info() << myname << "(execute): catch ..." << endl; dwarn << myname << "(execute): catch ..." << endl;
} }
if( it->sidConnection != DefaultObjectId ) if( it->sidConnection != DefaultObjectId )
...@@ -177,15 +175,14 @@ void UniExchange::execute() ...@@ -177,15 +175,14 @@ void UniExchange::execute()
} }
catch(...) catch(...)
{ {
if( dlog.is_crit() ) dcrit << myname << "(execute): sensor not avalible "
dlog.crit()<< myname << "(execute): sensor not avalible "
<< conf->oind->getNameById( it->sidConnection) << conf->oind->getNameById( it->sidConnection)
<< endl; << endl;
} }
} }
if( !ok && dlog.is_info() ) if( !ok )
dlog.info() << myname << ": ****** cannot connect with node=" << it->node << endl; dinfo << myname << ": ****** cannot connect with node=" << it->node << endl;
} }
if( ptUpdate.checkTime() ) if( ptUpdate.checkTime() )
...@@ -234,11 +231,11 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI ...@@ -234,11 +231,11 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.info() << "(update): " << ex << endl; dwarn << "(update): " << ex << endl;
} }
catch( ... ) catch( ... )
{ {
dlog.info() << "(update): catch ..." << endl; dwarn << "(update): catch ..." << endl;
} }
} }
} }
...@@ -278,11 +275,11 @@ void UniExchange::updateLocalData() ...@@ -278,11 +275,11 @@ void UniExchange::updateLocalData()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.warn() << "(update): " << ex << endl; dwarn << "(update): " << ex << endl;
} }
catch( ... ) catch( ... )
{ {
dlog.warn() << "(update): catch ..." << endl; dwarn << "(update): catch ..." << endl;
} }
} }
...@@ -443,8 +440,7 @@ bool UniExchange::initItem( UniXML_iterator& it ) ...@@ -443,8 +440,7 @@ bool UniExchange::initItem( UniXML_iterator& it )
if( i.id == DefaultObjectId ) if( i.id == DefaultObjectId )
{ {
if( dlog ) dcrit << myname << "(initItem): Unknown ID for "
dlog.crit() << myname << "(initItem): Unknown ID for "
<< it.getProp("name") << endl; << it.getProp("name") << endl;
return false; return false;
} }
...@@ -452,8 +448,7 @@ bool UniExchange::initItem( UniXML_iterator& it ) ...@@ -452,8 +448,7 @@ bool UniExchange::initItem( UniXML_iterator& it )
i.type = UniSetTypes::getIOType(it.getProp("iotype")); i.type = UniSetTypes::getIOType(it.getProp("iotype"));
if( i.type == UniversalIO::UnknownIOType ) if( i.type == UniversalIO::UnknownIOType )
{ {
if( dlog ) dcrit << myname << "(initItem): Unknown iotype= "
dlog.crit() << myname << "(initItem): Unknown iotype= "
<< it.getProp("iotype") << " for " << it.getProp("name") << endl; << it.getProp("iotype") << " for " << it.getProp("name") << endl;
return false; return false;
} }
......
...@@ -31,4 +31,21 @@ namespace UniSetExtensions ...@@ -31,4 +31,21 @@ namespace UniSetExtensions
extern DebugStream dlog; extern DebugStream dlog;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
// "синтаксический сахар"..для логов
#define dinfo if( UniSetExtensions::dlog.debugging(Debug::INFO) ) UniSetExtensions::dlog
#define dwarn if( UniSetExtensions::dlog.debugging(Debug::WARN) ) UniSetExtensions::dlog
#define dcrit if( UniSetExtensions::dlog.debugging(Debug::CRIT) ) UniSetExtensions::dlog
#define dlog1 if( UniSetExtensions::dlog.debugging(Debug::LEVEL1) ) UniSetExtensions::dlog
#define dlog2 if( UniSetExtensions::dlog.debugging(Debug::LEVEL2) ) UniSetExtensions::dlog
#define dlog3 if( UniSetExtensions::dlog.debugging(Debug::LEVEL3) ) UniSetExtensions::dlog
#define dlog4 if( UniSetExtensions::dlog.debugging(Debug::LEVEL4) ) UniSetExtensions::dlog
#define dlog5 if( UniSetExtensions::dlog.debugging(Debug::LEVEL5) ) UniSetExtensions::dlog
#define dlog6 if( UniSetExtensions::dlog.debugging(Debug::LEVEL6) ) UniSetExtensions::dlog
#define dlog7 if( UniSetExtensions::dlog.debugging(Debug::LEVEL7) ) UniSetExtensions::dlog
#define dlog8 if( UniSetExtensions::dlog.debugging(Debug::LEVEL8) ) UniSetExtensions::dlog
#define dlog9 if( UniSetExtensions::dlog.debugging(Debug::LEVEL9) ) UniSetExtensions::dlog
#define dlogsys if( UniSetExtensions::dlog.debugging(Debug::SYSTEM) ) UniSetExtensions::dlog
#define dlogrep if( UniSetExtensions::dlog.debugging(Debug::REPOSITORY) ) UniSetExtensions::dlog
// -------------------------------------------------------------------------
#endif // Extensions_H_ #endif // Extensions_H_
// -------------------------------------------------------------------------
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// generate timestamp: 2013-12-17+04:00 // generate timestamp: 2014-01-23+04:00
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#ifndef UObject_SK_H_ #ifndef UObject_SK_H_
#define UObject_SK_H_ #define UObject_SK_H_
...@@ -21,106 +21,120 @@ ...@@ -21,106 +21,120 @@
#include "DebugStream.h" #include "DebugStream.h"
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
class UObject_SK: class UObject_SK:
public UniSetObject, public UniSetObject,
public LT_Object public LT_Object
{ {
public: public:
UObject_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("UObject"), const std::string& argprefix="" ); UObject_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("UObject"), const std::string& argprefix="" );
UObject_SK(); UObject_SK();
virtual ~UObject_SK(); virtual ~UObject_SK();
bool alarm( UniSetTypes::ObjectId sid, bool state ); bool alarm( UniSetTypes::ObjectId sid, bool state );
long getValue( UniSetTypes::ObjectId sid ); long getValue( UniSetTypes::ObjectId sid );
void setValue( UniSetTypes::ObjectId sid, long value ); void setValue( UniSetTypes::ObjectId sid, long value );
void askSensor( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); void askSensor( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() );
void updateValues(); void updateValues();
void setMsg( UniSetTypes::ObjectId code, bool state ); void setMsg( UniSetTypes::ObjectId code, bool state );
DebugStream dlog; DebugStream mylog;
void init_dlog(DebugStream& dlog); void init_mylog( DebugStream& d );
// "синтаксический сахар"..для логов
// Используемые идентификаторы #define myinfo if( mylog.debugging(Debug::INFO) ) mylog
#define mywarn if( mylog.debugging(Debug::WARN) ) mylog
#define mycrit if( mylog.debugging(Debug::CRIT) ) mylog
// Используемые идентификаторы сообщений #define mylog1 if( mylog.debugging(Debug::LEVEL1) ) mylog
#define mylog2 if( mylog.debugging(Debug::LEVEL2) ) mylog
#define mylog3 if( mylog.debugging(Debug::LEVEL3) ) mylog
// Текущее значение и предыдущее значение #define mylog4 if( mylog.debugging(Debug::LEVEL4) ) mylog
#define mylog5 if( mylog.debugging(Debug::LEVEL5) ) mylog
#define mylog6 if( mylog.debugging(Debug::LEVEL6) ) mylog
// --- public variables --- #define mylog7 if( mylog.debugging(Debug::LEVEL7) ) mylog
#define mylog8 if( mylog.debugging(Debug::LEVEL8) ) mylog
#define mylog9 if( mylog.debugging(Debug::LEVEL9) ) mylog
// --- end of public variables ---
protected: // Используемые идентификаторы
// --- protected variables ---
// Используемые идентификаторы сообщений
// ---- end of protected variables ----
// Текущее значение и предыдущее значение
virtual void callback();
virtual void processingMessage( UniSetTypes::VoidMessage* msg );
virtual void sysCommand( UniSetTypes::SystemMessage* sm ); // --- public variables ---
virtual void askSensors( UniversalIO::UIOCommand cmd ){}
virtual void sensorInfo( UniSetTypes::SensorMessage* sm ){}
virtual void timerInfo( UniSetTypes::TimerMessage* tm ){} // --- end of public variables ---
virtual void sigterm( int signo );
virtual bool activateObject(); protected:
virtual void testMode( bool state ); // --- protected variables ---
void updatePreviousValues();
void checkSensors();
void updateOutputs( bool force ); // ---- end of protected variables ----
void preAskSensors( UniversalIO::UIOCommand cmd );
void preSensorInfo( UniSetTypes::SensorMessage* sm ); virtual void callback();
void preTimerInfo( UniSetTypes::TimerMessage* tm ); virtual void processingMessage( UniSetTypes::VoidMessage* msg );
void waitSM( int wait_msec, UniSetTypes::ObjectId testID = UniSetTypes::DefaultObjectId ); virtual void sysCommand( UniSetTypes::SystemMessage* sm );
virtual void askSensors( UniversalIO::UIOCommand cmd ){}
void resetMsg(); virtual void sensorInfo( UniSetTypes::SensorMessage* sm ){}
Trigger trResetMsg; virtual void timerInfo( UniSetTypes::TimerMessage* tm ){}
PassiveTimer ptResetMsg; virtual void sigterm( int signo );
int resetMsgTime; virtual bool activateObject();
virtual void testMode( bool state );
// Выполнение очередного шага программы void updatePreviousValues();
virtual void step()=0; void checkSensors();
void updateOutputs( bool force );
int sleep_msec; /*!< пауза между итерациями */
bool active; void preAskSensors( UniversalIO::UIOCommand cmd );
void preSensorInfo( UniSetTypes::SensorMessage* sm );
UniSetTypes::ObjectId smTestID; /*!< идентификатор датчика для тестирования готовности SM */ void preTimerInfo( UniSetTypes::TimerMessage* tm );
void waitSM( int wait_msec, UniSetTypes::ObjectId testID = UniSetTypes::DefaultObjectId );
// управление датчиком "сердцебиения"
PassiveTimer ptHeartBeat; /*! < период "сердцебиения" */ void resetMsg();
UniSetTypes::ObjectId idHeartBeat; /*! < идентификатор датчика (AI) "сердцебиения" */ Trigger trResetMsg;
int maxHeartBeat; /*! < сохраняемое значение */ PassiveTimer ptResetMsg;
int resetMsgTime;
xmlNode* confnode;
/*! получить числовое свойство из конф. файла по привязанной confnode */ // Выполнение очередного шага программы
int getIntProp(const std::string& name) { return UniSetTypes::conf->getIntProp(confnode, name); } virtual void step()=0;
/*! получить текстовое свойство из конф. файла по привязанной confnode */
inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); } int sleep_msec; /*!< пауза между итерациями */
bool active;
int smReadyTimeout; /*!< время ожидания готовности SM */
bool activated; UniSetTypes::ObjectId smTestID; /*!< идентификатор датчика для тестирования готовности SM */
int activateTimeout; /*!< время ожидания готовности UniSetObject к работе */
PassiveTimer ptStartUpTimeout; /*!< время на блокировку обработки WatchDog, если недавно был StartUp */ // управление датчиком "сердцебиения"
int askPause; /*!< пауза между неудачными попытками заказать датчики */ PassiveTimer ptHeartBeat; /*! < период "сердцебиения" */
UniSetTypes::ObjectId idHeartBeat; /*! < идентификатор датчика (AI) "сердцебиения" */
IOController_i::SensorInfo si; int maxHeartBeat; /*! < сохраняемое значение */
xmlNode* confnode;
private: /*! получить числовое свойство из конф. файла по привязанной confnode */
int getIntProp(const std::string& name) { return UniSetTypes::conf->getIntProp(confnode, name); }
// --- private variables --- /*! получить текстовое свойство из конф. файла по привязанной confnode */
// --- end of private variables --- inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); }
int smReadyTimeout; /*!< время ожидания готовности SM */
bool activated;
bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода) int activateTimeout; /*!< время ожидания готовности UniSetObject к работе */
PassiveTimer ptStartUpTimeout; /*!< время на блокировку обработки WatchDog, если недавно был StartUp */
int askPause; /*!< пауза между неудачными попытками заказать датчики */
IOController_i::SensorInfo si;
private:
// --- private variables ---
// --- end of private variables ---
bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода)
}; };
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -24,7 +24,7 @@ namespace UniSetExtensions ...@@ -24,7 +24,7 @@ namespace UniSetExtensions
{ {
ostringstream err; ostringstream err;
err << ": Unknown ID for '" << sname << "'" << endl; err << ": Unknown ID for '" << sname << "'" << endl;
dlog.crit() << err.str() << endl; dcrit << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
...@@ -46,18 +46,17 @@ namespace UniSetExtensions ...@@ -46,18 +46,17 @@ namespace UniSetExtensions
cerr << err.str() << endl; cerr << err.str() << endl;
throw SystemError(err.str()); throw SystemError(err.str());
} }
UniXML_iterator it(cnode); UniXML_iterator it(cnode);
heartBeatTime = it.getIntProp("time_msec"); heartBeatTime = it.getIntProp("time_msec");
if( heartBeatTime <= 0 ) if( heartBeatTime <= 0 )
{ {
heartBeatTime = 0; heartBeatTime = 0;
dlog.warn() << "(getHeartBeatTime): механизм 'HEARTBEAT' ОТКЛЮЧЁН!" << endl; dwarn << "(getHeartBeatTime): механизм 'HEARTBEAT' ОТКЛЮЧЁН!" << endl;
} }
if( dlog.is_info() ) dinfo << "(getHeartBeatTime): heartbeat time = " << heartBeatTime << endl;
dlog.info() << "(getHeartBeatTime): heartbeat time = " << heartBeatTime << endl;
return heartBeatTime; return heartBeatTime;
} }
...@@ -114,7 +113,7 @@ namespace UniSetExtensions ...@@ -114,7 +113,7 @@ namespace UniSetExtensions
{ {
ostringstream err; ostringstream err;
err << "(buildCalibrationDiagram): НЕ НАЙДЕН корневой узел для калибровочных диаграмм"; err << "(buildCalibrationDiagram): НЕ НАЙДЕН корневой узел для калибровочных диаграмм";
dlog.crit() << err.str() << endl; dcrit << err.str() << endl;
throw SystemError( err.str()); throw SystemError( err.str());
} }
...@@ -123,10 +122,10 @@ namespace UniSetExtensions ...@@ -123,10 +122,10 @@ namespace UniSetExtensions
{ {
ostringstream err; ostringstream err;
err << "(buildCalibrationDiagram): НЕ НАЙДЕНА калибровочная диаграмма '" << dname << "'"; err << "(buildCalibrationDiagram): НЕ НАЙДЕНА калибровочная диаграмма '" << dname << "'";
dlog.crit() << err.str() << endl; dcrit << err.str() << endl;
throw SystemError( err.str()); throw SystemError( err.str());
} }
return new Calibration(dnode); return new Calibration(dnode);
} }
......
...@@ -537,7 +537,7 @@ bool IOBase::initItem( IOBase* b, UniXML_iterator& it, SMInterface* shm, ...@@ -537,7 +537,7 @@ bool IOBase::initItem( IOBase* b, UniXML_iterator& it, SMInterface* shm,
<< tai << endl; << tai << endl;
return false; return false;
} }
b->ti.lowlimit = it.getIntProp("lowlimit"); b->ti.lowlimit = it.getIntProp("lowlimit");
b->ti.hilimit = it.getIntProp("hilimit"); b->ti.hilimit = it.getIntProp("hilimit");
b->ti.invert = it.getIntProp("threshold_invert"); b->ti.invert = it.getIntProp("threshold_invert");
......
...@@ -51,24 +51,24 @@ using namespace UniSetTypes; ...@@ -51,24 +51,24 @@ using namespace UniSetTypes;
} \ } \
catch( IOController_i::NameNotFound &ex ) \ catch( IOController_i::NameNotFound &ex ) \
{ \ { \
ulog.warn() << "(" << __STRING(fname) << "): " << ex.err << endl; \ uwarn << "(" << __STRING(fname) << "): " << ex.err << endl; \
} \ } \
catch( IOController_i::IOBadParam &ex ) \ catch( IOController_i::IOBadParam &ex ) \
{ \ { \
ulog.warn() << "(" << __STRING(fname) << "): " << ex.err << endl; \ uwarn << "(" << __STRING(fname) << "): " << ex.err << endl; \
} \ } \
catch( Exception& ex ) \ catch( Exception& ex ) \
{ \ { \
ulog.warn() << "(" << __STRING(fname) << "): " << ex << endl; \ uwarn << "(" << __STRING(fname) << "): " << ex << endl; \
} \ } \
catch(CORBA::SystemException& ex) \ catch(CORBA::SystemException& ex) \
{ \ { \
ulog.warn() << "(" << __STRING(fname) << "): CORBA::SystemException: " \ uwarn << "(" << __STRING(fname) << "): CORBA::SystemException: " \
<< ex.NP_minorString() << endl; \ << ex.NP_minorString() << endl; \
} \ } \
catch(...) \ catch(...) \
{ \ { \
ulog.warn() << "(" << __STRING(fname) << "): catch ..." << endl; \ uwarn << "(" << __STRING(fname) << "): catch ..." << endl; \
} \ } \
\ \
oref = CORBA::Object::_nil(); \ oref = CORBA::Object::_nil(); \
...@@ -77,7 +77,7 @@ using namespace UniSetTypes; ...@@ -77,7 +77,7 @@ using namespace UniSetTypes;
#define CHECK_IC_PTR(fname) \ #define CHECK_IC_PTR(fname) \
if( !ic ) \ if( !ic ) \
{ \ { \
ulog.warn() << "(" << __STRING(fname) << "): function NOT DEFINED..." << endl; \ uwarn << "(" << __STRING(fname) << "): function NOT DEFINED..." << endl; \
throw UniSetTypes::TimeOut(); \ throw UniSetTypes::TimeOut(); \
} \ } \
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// generate timestamp: 2013-12-17+04:00 // generate timestamp: 2014-01-23+04:00
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#include "Configuration.h" #include "Configuration.h"
#include "Exceptions.h" #include "Exceptions.h"
...@@ -43,19 +43,19 @@ askPause(2000), ...@@ -43,19 +43,19 @@ askPause(2000),
end_private(false) end_private(false)
{ {
ulog.crit() << "UObject: init failed!!!!!!!!!!!!!!!" << endl; ucrit << "UObject: init failed!!!!!!!!!!!!!!!" << endl;
throw Exception( string(myname+": init failed!!!") ); throw Exception( string(myname+": init failed!!!") );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// ( val, confval, default val ) // ( val, confval, default val )
static const std::string init3_str( const std::string& s1, const std::string& s2, const std::string& s3 ) static const std::string init3_str( const std::string& s1, const std::string& s2, const std::string& s3 )
{ {
if( !s1.empty() ) if( !s1.empty() )
return s1; return s1;
if( !s2.empty() ) if( !s2.empty() )
return s2; return s2;
return s3; return s3;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UObject_SK::UObject_SK( ObjectId id, xmlNode* cnode, const std::string& argprefix ): UObject_SK::UObject_SK( ObjectId id, xmlNode* cnode, const std::string& argprefix ):
...@@ -78,70 +78,69 @@ askPause(conf->getPIntProp(cnode,"askPause",2000)), ...@@ -78,70 +78,69 @@ askPause(conf->getPIntProp(cnode,"askPause",2000)),
end_private(false) end_private(false)
{ {
if( UniSetTypes::findArgParam("--print-id-list",conf->getArgc(),conf->getArgv()) != -1 ) if( UniSetTypes::findArgParam("--print-id-list",conf->getArgc(),conf->getArgv()) != -1 )
{ {
// abort(); // abort();
} }
if( getId() == DefaultObjectId ) if( getId() == DefaultObjectId )
{ {
ostringstream err; ostringstream err;
err << "(UObject::init): Unknown ObjectID!"; err << "(UObject::init): Unknown ObjectID!";
throw SystemError( err.str() ); throw SystemError( err.str() );
} }
UniXML_iterator it(cnode); UniXML_iterator it(cnode);
string heart = conf->getArgParam("--heartbeat-id",it.getProp("heartbeat_id")); string heart = conf->getArgParam("--heartbeat-id",it.getProp("heartbeat_id"));
if( !heart.empty() ) if( !heart.empty() )
{ {
idHeartBeat = conf->getSensorID(heart); idHeartBeat = conf->getSensorID(heart);
if( idHeartBeat == DefaultObjectId ) if( idHeartBeat == DefaultObjectId )
{ {
ostringstream err; ostringstream err;
err << myname << ": не найден идентификатор для датчика 'HeartBeat' " << heart; err << myname << ": не найден идентификатор для датчика 'HeartBeat' " << heart;
throw SystemError(err.str()); throw SystemError(err.str());
} }
int heartbeatTime = conf->getArgPInt("--heartbeat-time",it.getProp("heartbeatTime"),conf->getHeartBeatTime()); int heartbeatTime = conf->getArgPInt("--heartbeat-time",it.getProp("heartbeatTime"),conf->getHeartBeatTime());
if( heartbeatTime>0 ) if( heartbeatTime>0 )
ptHeartBeat.setTiming(heartbeatTime); ptHeartBeat.setTiming(heartbeatTime);
else else
ptHeartBeat.setTiming(UniSetTimer::WaitUpTime); ptHeartBeat.setTiming(UniSetTimer::WaitUpTime);
maxHeartBeat = conf->getArgPInt("--heartbeat-max",it.getProp("heartbeat_max"), 10); maxHeartBeat = conf->getArgPInt("--heartbeat-max",it.getProp("heartbeat_max"), 10);
} }
// Инициализация значений // Инициализация значений
sleep_msec = conf->getArgPInt("--sleep-msec","150", 150); sleep_msec = conf->getArgPInt("--sleep-msec","150", 150);
resetMsgTime = conf->getPIntProp(cnode,"resetMsgTime", 2000); resetMsgTime = conf->getPIntProp(cnode,"resetMsgTime", 2000);
ptResetMsg.setTiming(resetMsgTime); ptResetMsg.setTiming(resetMsgTime);
smReadyTimeout = conf->getArgInt("--sm-ready-timeout",""); smReadyTimeout = conf->getArgInt("--sm-ready-timeout","");
if( smReadyTimeout == 0 ) if( smReadyTimeout == 0 )
smReadyTimeout = 60000; smReadyTimeout = 60000;
else if( smReadyTimeout < 0 ) else if( smReadyTimeout < 0 )
smReadyTimeout = UniSetTimer::WaitUpTime; smReadyTimeout = UniSetTimer::WaitUpTime;
std::string tmp_smtestID(""); smTestID = conf->getSensorID(init3_str(conf->getArgParam("--" + argprefix + "sm-test-id"),conf->getProp(cnode,"smTestID"),""));
smTestID = conf->getSensorID(init3_str(conf->getArgParam("--" + argprefix + "sm-test-id"),conf->getProp(cnode,"smTestID"),tmp_smtestID));
activateTimeout = conf->getArgPInt("--activate-timeout", 20000);
activateTimeout = conf->getArgPInt("--activate-timeout", 20000);
int msec = conf->getArgPInt("--startup-timeout", 10000);
int msec = conf->getArgPInt("--startup-timeout", 10000); ptStartUpTimeout.setTiming(msec);
ptStartUpTimeout.setTiming(msec);
// ===================== <variables> =====================
// ===================== <variables> =====================
// ===================== end of <variables> =====================
// ===================== end of <variables> =====================
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -152,47 +151,36 @@ UObject_SK::~UObject_SK() ...@@ -152,47 +151,36 @@ UObject_SK::~UObject_SK()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::updateValues() void UObject_SK::updateValues()
{ {
// Опрашиваем все входы... // Опрашиваем все входы...
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::updatePreviousValues() void UObject_SK::updatePreviousValues()
{ {
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::checkSensors() void UObject_SK::checkSensors()
{ {
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
bool UObject_SK::alarm( UniSetTypes::ObjectId _code, bool _state ) bool UObject_SK::alarm( UniSetTypes::ObjectId _code, bool _state )
{ {
if( _code == UniSetTypes::DefaultObjectId ) if( _code == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << getName()
ulog.crit() << getName() << "(alarm): попытка послать сообщение с DefaultObjectId"
<< "(alarm): попытка послать сообщение с DefaultObjectId" << endl;
<< endl; return false;
return false; }
}
ulog1 << getName() << "(alarm): " << ( _state ? "SEND " : "RESET " ) << endl;
if( ulog.is_level1() )
{
ulog.level1() << getName() << "(alarm): ";
if( _state ) ulog1 << " not found MessgeOID?!!" << endl;
ulog.level1(false) << "SEND "; return false;
else
ulog.level1(false) << "RESET ";
ulog.level1(false) << endl;
}
if( ulog.is_level1() )
ulog.level1() << " not found MessgeOID?!!" << endl;
return false;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::resetMsg() void UObject_SK::resetMsg()
...@@ -203,166 +191,161 @@ void UObject_SK::resetMsg() ...@@ -203,166 +191,161 @@ void UObject_SK::resetMsg()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::testMode( bool _state ) void UObject_SK::testMode( bool _state )
{ {
if( !_state ) if( !_state )
return; return;
// отключаем все выходы
// отключаем все выходы
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UObject_SK::init_dlog( DebugStream& d ) void UObject_SK::init_mylog( DebugStream& d )
{ {
UObject_SK::dlog = d; UObject_SK::mylog = d;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UObject_SK::processingMessage( UniSetTypes::VoidMessage* _msg ) void UObject_SK::processingMessage( UniSetTypes::VoidMessage* _msg )
{ {
try try
{ {
switch( _msg->type ) switch( _msg->type )
{ {
case Message::SensorInfo: case Message::SensorInfo:
{ {
SensorMessage _sm( _msg ); SensorMessage _sm( _msg );
preSensorInfo( &_sm ); preSensorInfo( &_sm );
break; break;
} }
case Message::Timer: case Message::Timer:
{ {
TimerMessage _tm(_msg); TimerMessage _tm(_msg);
preTimerInfo(&_tm); preTimerInfo(&_tm);
break; break;
} }
case Message::SysCommand: case Message::SysCommand:
{ {
SystemMessage _sm( _msg ); SystemMessage _sm( _msg );
sysCommand( &_sm ); sysCommand( &_sm );
break; break;
} }
default: default:
break; break;
} }
} }
catch(Exception& ex) catch( Exception& ex )
{ {
cout << myname << "(processingMessage): " << ex << endl; ucrit << myname << "(processingMessage): " << ex << endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::sysCommand( SystemMessage* _sm ) void UObject_SK::sysCommand( SystemMessage* _sm )
{ {
switch( _sm->command ) switch( _sm->command )
{ {
case SystemMessage::WatchDog: case SystemMessage::WatchDog:
ulog << myname << "(sysCommand): WatchDog" << endl; ulog << myname << "(sysCommand): WatchDog" << endl;
if( !active || !ptStartUpTimeout.checkTime() ) if( !active || !ptStartUpTimeout.checkTime() )
{ {
if( ulog.is_warn() ) uwarn << myname << "(sysCommand): игнорируем WatchDog, потому-что только-что стартанули" << endl;
ulog.warn() << myname << "(sysCommand): игнорируем WatchDog, потому-что только-что стартанули" << endl; break;
break; }
} case SystemMessage::StartUp:
case SystemMessage::StartUp: {
{ waitSM(smReadyTimeout);
waitSM(smReadyTimeout); ptStartUpTimeout.reset();
ptStartUpTimeout.reset(); // т.к. для io-переменных важно соблюдать последовательность!
// т.к. для io-переменных важно соблюдать последовательность! // сперва обновить входы.. а потом уже выходы
// сперва обновить входы.. а потом уже выходы updateValues();
updateValues(); updateOutputs(true); // принудительное обновление выходов
updateOutputs(true); // принудительное обновление выходов preAskSensors(UniversalIO::UIONotify);
preAskSensors(UniversalIO::UIONotify); askSensors(UniversalIO::UIONotify);
askSensors(UniversalIO::UIONotify); active = true;
active = true; break;
break; }
}
case SystemMessage::FoldUp:
case SystemMessage::FoldUp: case SystemMessage::Finish:
case SystemMessage::Finish: preAskSensors(UniversalIO::UIODontNotify);
preAskSensors(UniversalIO::UIODontNotify); askSensors(UniversalIO::UIODontNotify);
askSensors(UniversalIO::UIODontNotify); break;
break;
case SystemMessage::LogRotate:
case SystemMessage::LogRotate: {
{ // переоткрываем логи
// переоткрываем логи mylog << myname << "(sysCommand): logRotate" << endl;
ulog << myname << "(sysCommand): logRotate" << endl; string fname( mylog.getLogFile() );
string fname( ulog.getLogFile() ); if( !fname.empty() )
if( !fname.empty() ) {
{ mylog.logFile(fname.c_str());
ulog.logFile(fname.c_str()); mylog << myname << "(sysCommand): ***************** mylog LOG ROTATE *****************" << endl;
ulog << myname << "(sysCommand): ***************** ulog LOG ROTATE *****************" << endl; }
} }
} break;
break;
default:
default: break;
break; }
}
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::sigterm( int signo ) void UObject_SK::sigterm( int signo )
{ {
UniSetObject::sigterm(signo); UniSetObject::sigterm(signo);
active = false; active = false;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
bool UObject_SK::activateObject() bool UObject_SK::activateObject()
{ {
// блокирование обработки Startup // блокирование обработки Startup
// пока не пройдёт инициализация датчиков // пока не пройдёт инициализация датчиков
// см. sysCommand() // см. sysCommand()
{ {
activated = false; activated = false;
UniSetObject::activateObject(); UniSetObject::activateObject();
activated = true; activated = true;
} }
return true; return true;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::preTimerInfo( UniSetTypes::TimerMessage* _tm ) void UObject_SK::preTimerInfo( UniSetTypes::TimerMessage* _tm )
{ {
timerInfo(_tm); timerInfo(_tm);
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void UObject_SK::waitSM( int wait_msec, ObjectId _testID ) void UObject_SK::waitSM( int wait_msec, ObjectId _testID )
{ {
if( _testID == DefaultObjectId ) if( _testID == DefaultObjectId )
_testID = smTestID; _testID = smTestID;
if( _testID == DefaultObjectId ) if( _testID == DefaultObjectId )
return; return;
if( ulog.is_info() ) uinfo << myname << "(waitSM): waiting SM ready "
{ << wait_msec << " msec"
ulog.info() << myname << "(waitSM): waiting SM ready " << " testID=" << _testID << endl;
<< wait_msec << " msec"
<< " testID=" << _testID << endl; if( !ui.waitReady(_testID,wait_msec) )
} {
ostringstream err;
if( !ui.waitReady(_testID,wait_msec) ) err << myname
{ << "(waitSM): Не дождались готовности(exist) SharedMemory к работе в течение "
ostringstream err; << wait_msec << " мсек";
err << myname
<< "(waitSM): Не дождались готовности(exist) SharedMemory к работе в течение " ucrit << err.str() << endl;
<< wait_msec << " мсек"; terminate();
abort();
if( ulog.is_crit() ) // kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
ulog.crit() << err.str() << endl; throw SystemError(err.str());
terminate(); }
abort();
// kill(SIGTERM,getpid()); // прерываем (перезапускаем) процесс...
throw SystemError(err.str());
}
} }
...@@ -371,161 +354,153 @@ void UObject_SK::waitSM( int wait_msec, ObjectId _testID ) ...@@ -371,161 +354,153 @@ void UObject_SK::waitSM( int wait_msec, ObjectId _testID )
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
void UObject_SK::callback() void UObject_SK::callback()
{ {
if( !active ) if( !active )
return; return;
try try
{ {
// проверка таймеров // проверка таймеров
checkTimers(this); checkTimers(this);
if( resetMsgTime>0 && trResetMsg.hi(ptResetMsg.checkTime()) ) if( resetMsgTime>0 && trResetMsg.hi(ptResetMsg.checkTime()) )
{ {
// cout << myname << ": ********* reset messages *********" << endl; // cout << myname << ": ********* reset messages *********" << endl;
resetMsg(); resetMsg();
} }
// обработка сообщений (таймеров и т.п.) // обработка сообщений (таймеров и т.п.)
for( int i=0; i<20; i++ ) for( int i=0; i<20; i++ )
{ {
if( !receiveMessage(msg) ) if( !receiveMessage(msg) )
break; break;
processingMessage(&msg); processingMessage(&msg);
updateOutputs(false); updateOutputs(false);
// updatePreviousValues(); // updatePreviousValues();
} }
// Выполнение шага программы // Выполнение шага программы
step(); step();
// "сердцебиение" // "сердцебиение"
if( idHeartBeat!=DefaultObjectId && ptHeartBeat.checkTime() ) if( idHeartBeat!=DefaultObjectId && ptHeartBeat.checkTime() )
{ {
ui.setValue(idHeartBeat,maxHeartBeat,UniversalIO::AI); ui.setValue(idHeartBeat,maxHeartBeat,UniversalIO::AI);
ptHeartBeat.reset(); ptHeartBeat.reset();
} }
// обновление выходов // обновление выходов
updateOutputs(false); updateOutputs(false);
updatePreviousValues(); updatePreviousValues();
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(execute): " << ex << endl;
ulog.crit() << myname << "(execute): " << ex << endl; }
} catch(CORBA::SystemException& ex)
catch(CORBA::SystemException& ex) {
{ ucrit << myname << "(execute): СORBA::SystemException: "
if( ulog.is_crit() )
ulog.crit() << myname << "(execute): СORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit << myname << "(execute): catch ..." << endl;
ulog.crit() << myname << "(execute): catch ..." << endl; }
}
if( !active )
if( !active ) return;
return;
msleep( sleep_msec );
msleep( sleep_msec );
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::setValue( UniSetTypes::ObjectId _sid, long _val ) void UObject_SK::setValue( UniSetTypes::ObjectId _sid, long _val )
{ {
// ui.setState(sid,state); // ui.setState(sid,state);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::updateOutputs( bool _force ) void UObject_SK::updateOutputs( bool _force )
{ {
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::preSensorInfo( UniSetTypes::SensorMessage* _sm ) void UObject_SK::preSensorInfo( UniSetTypes::SensorMessage* _sm )
{ {
sensorInfo(_sm); sensorInfo(_sm);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::askSensor( UniSetTypes::ObjectId _sid, UniversalIO::UIOCommand _cmd, UniSetTypes::ObjectId _node ) void UObject_SK::askSensor( UniSetTypes::ObjectId _sid, UniversalIO::UIOCommand _cmd, UniSetTypes::ObjectId _node )
{ {
ui.askRemoteSensor(_sid,_cmd,_node,getId()); ui.askRemoteSensor(_sid,_cmd,_node,getId());
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
long UObject_SK::getValue( UniSetTypes::ObjectId _sid ) long UObject_SK::getValue( UniSetTypes::ObjectId _sid )
{ {
try try
{ {
if( ulog.is_crit() ) ucrit << myname << "(getValue): Обращение к неизвестному датчику sid="
ulog.crit() << myname << "(getValue): Обращение к неизвестному датчику sid="
<< _sid << endl; << _sid << endl;
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_crit() ) ucrit << myname << "(getValue): " << ex << endl;
ulog.crit() << myname << "(getValue): " << ex << endl; throw;
throw; }
}
return 0;
return 0;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::preAskSensors( UniversalIO::UIOCommand _cmd ) void UObject_SK::preAskSensors( UniversalIO::UIOCommand _cmd )
{ {
PassiveTimer ptAct(activateTimeout); PassiveTimer ptAct(activateTimeout);
while( !activated && !ptAct.checkTime() ) while( !activated && !ptAct.checkTime() )
{ {
cout << myname << "(preAskSensors): wait activate..." << endl; cout << myname << "(preAskSensors): wait activate..." << endl;
msleep(300); msleep(300);
if( activated ) if( activated )
break; break;
} }
if( !activated && ulog.is_crit() ) if( !activated )
ulog.crit() << myname ucrit << myname
<< "(preAskSensors): ************* don`t activated?! ************" << endl; << "(preAskSensors): ************* don`t activated?! ************" << endl;
for( ;; ) for( ;; )
{ {
try try
{ {
return; return;
} }
catch(SystemError& err) catch(SystemError& err)
{ {
if( ulog.is_crit() ) ucrit << myname << "(preAskSensors): " << err << endl;
ulog.crit() << myname << "(preAskSensors): " << err << endl; }
} catch(Exception& ex)
catch(Exception& ex) {
{ ucrit << myname << "(preAskSensors): " << ex << endl;
if( ulog.is_crit() ) }
ulog.crit() << myname << "(preAskSensors): " << ex << endl; catch(...)
} {
catch(...) ucrit << myname << "(preAskSensors): catch(...)" << endl;
{ }
if( ulog.is_crit() ) msleep(askPause);
ulog.crit() << myname << "(preAskSensors): catch(...)" << endl; }
}
msleep(askPause);
}
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::setMsg( UniSetTypes::ObjectId _code, bool _state ) void UObject_SK::setMsg( UniSetTypes::ObjectId _code, bool _state )
{ {
// блокируем сброс (т.к. он автоматически по таймеру) // блокируем сброс (т.к. он автоматически по таймеру)
if( !_state ) if( !_state )
{ {
ptResetMsg.reset(); ptResetMsg.reset();
return; return;
} }
alarm( _code, _state ); alarm( _code, _state );
ptResetMsg.reset(); ptResetMsg.reset();
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
...@@ -53,7 +53,7 @@ void TestProc::sysCommand( UniSetTypes::SystemMessage* sm ) ...@@ -53,7 +53,7 @@ void TestProc::sysCommand( UniSetTypes::SystemMessage* sm )
void TestProc::sensorInfo( SensorMessage *sm ) void TestProc::sensorInfo( SensorMessage *sm )
{ {
/* /*
dlog.level2() << myname << "(sensorInfo): id=" << sm->id << " val=" << sm->value mylog2 << myname << "(sensorInfo): id=" << sm->id << " val=" << sm->value
<< " " << timeToString(sm->sm_tv_sec,":") << " " << timeToString(sm->sm_tv_sec,":")
<< "(" << setw(6) << sm->sm_tv_usec << "): " << "(" << setw(6) << sm->sm_tv_usec << "): "
<< endl; << endl;
...@@ -83,7 +83,7 @@ void TestProc::timerInfo( TimerMessage *tm ) ...@@ -83,7 +83,7 @@ void TestProc::timerInfo( TimerMessage *tm )
{ {
state^=true; state^=true;
out_lamp_c = ( state ? lmpBLINK : lmpOFF ); out_lamp_c = ( state ? lmpBLINK : lmpOFF );
dlog.level2() << myname << ": state=" << state << " lmp=" << out_lamp_c << endl; mylog2 << myname << ": state=" << state << " lmp=" << out_lamp_c << endl;
askTimer(tmCheckWorking,checkTime); // reset timer askTimer(tmCheckWorking,checkTime); // reset timer
} }
else if( tm->id == tmCheckWorking ) else if( tm->id == tmCheckWorking )
...@@ -102,7 +102,7 @@ void TestProc::timerInfo( TimerMessage *tm ) ...@@ -102,7 +102,7 @@ void TestProc::timerInfo( TimerMessage *tm )
cerr << "======= TEST LOG PRINT ======" << endl; cerr << "======= TEST LOG PRINT ======" << endl;
cerr << "LOGLEVEL: [" << (int)(*lit) << "] " << (*lit) << endl; cerr << "LOGLEVEL: [" << (int)(*lit) << "] " << (*lit) << endl;
for( std::vector<Debug::type>::iterator it=loglevels.begin(); it!=loglevels.end(); ++it ) for( std::vector<Debug::type>::iterator it=loglevels.begin(); it!=loglevels.end(); ++it )
dlog[*it] << myname << ": test log print..." << endl; mylog[*it] << myname << ": test log print..." << endl;
cerr << "======= END LOG PRINT ======" << endl; cerr << "======= END LOG PRINT ======" << endl;
} }
...@@ -166,7 +166,7 @@ void TestProc::test_thresholds() ...@@ -166,7 +166,7 @@ void TestProc::test_thresholds()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
dlog.level2() << myname << ": CHECK 'ask and get threshold' FAILED: " << ex << endl; mylog2 << myname << ": CHECK 'ask and get threshold' FAILED: " << ex << endl;
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -49,19 +49,19 @@ int main(int argc, const char **argv) ...@@ -49,19 +49,19 @@ int main(int argc, const char **argv)
} }
catch( SystemError& err ) catch( SystemError& err )
{ {
ulog.crit() << "(smemory): " << err << endl; ucrit << "(smemory): " << err << endl;
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
ulog.crit() << "(smemory): " << ex << endl; ucrit << "(smemory): " << ex << endl;
} }
catch( std::exception& e ) catch( std::exception& e )
{ {
ulog.crit() << "(smemory): " << e.what() << endl; ucrit << "(smemory): " << e.what() << endl;
} }
catch(...) catch(...)
{ {
ulog.crit() << "(smemory): catch(...)" << endl; ucrit << "(smemory): catch(...)" << endl;
} }
return 1; return 1;
......
...@@ -73,7 +73,7 @@ namespace UniSetTypes ...@@ -73,7 +73,7 @@ namespace UniSetTypes
int getPIntField(const std::string& path, int def); int getPIntField(const std::string& path, int def);
xmlNode* findNode(xmlNode* node, const std::string& searchnode, const std::string& name="" ); xmlNode* findNode(xmlNode* node, const std::string& searchnode, const std::string& name="" );
// Получить узел // Получить узел
xmlNode* getNode(const std::string& path); xmlNode* getNode(const std::string& path);
// Получить указанное свойство пути // Получить указанное свойство пути
...@@ -92,7 +92,7 @@ namespace UniSetTypes ...@@ -92,7 +92,7 @@ namespace UniSetTypes
inline ObjectId getLocalNode() const { return localNode; } /*!< получение идентификатора локального узла */ inline ObjectId getLocalNode() const { return localNode; } /*!< получение идентификатора локального узла */
inline std::string getLocalNodeName() const { return localNodeName; } /*!< получение название локального узла */ inline std::string getLocalNodeName() const { return localNodeName; } /*!< получение название локального узла */
inline const std::string getNSName() const { return NSName; } inline const std::string getNSName() const { return NSName; }
// repository // repository
inline std::string getRootSection() const { return secRoot; } inline std::string getRootSection() const { return secRoot; }
inline std::string getSensorsSection() const { return secSensors; } inline std::string getSensorsSection() const { return secSensors; }
...@@ -108,7 +108,7 @@ namespace UniSetTypes ...@@ -108,7 +108,7 @@ namespace UniSetTypes
xmlNode* getXMLObjectNode( UniSetTypes::ObjectId ); xmlNode* getXMLObjectNode( UniSetTypes::ObjectId );
UniversalIO::IOType getIOType( UniSetTypes::ObjectId ); UniversalIO::IOType getIOType( UniSetTypes::ObjectId );
UniversalIO::IOType getIOType( const std::string& name ); UniversalIO::IOType getIOType( const std::string& name );
// net // net
inline unsigned int getCountOfNet() const { return countOfNet; } inline unsigned int getCountOfNet() const { return countOfNet; }
inline unsigned int getRepeatTimeout() const { return repeatTimeout; } inline unsigned int getRepeatTimeout() const { return repeatTimeout; }
...@@ -136,7 +136,7 @@ namespace UniSetTypes ...@@ -136,7 +136,7 @@ namespace UniSetTypes
inline bool isLocalIOR(){ return localIOR; } inline bool isLocalIOR(){ return localIOR; }
inline bool isTransientIOR(){ return transientIOR; } inline bool isTransientIOR(){ return transientIOR; }
/*! получить значение указанного параметра, или значение по умолчанию */ /*! получить значение указанного параметра, или значение по умолчанию */
std::string getArgParam(const std::string& name, const std::string& defval=""); std::string getArgParam(const std::string& name, const std::string& defval="");
/*! получить числовое значение параметра, если не число, то 0. Если параметра нет, используется значение defval */ /*! получить числовое значение параметра, если не число, то 0. Если параметра нет, используется значение defval */
...@@ -240,13 +240,28 @@ namespace UniSetTypes ...@@ -240,13 +240,28 @@ namespace UniSetTypes
/*! Глобальный объект для вывода логов */ /*! Глобальный объект для вывода логов */
extern DebugStream ulog; extern DebugStream ulog;
// Инициализация UniSetTypes::conf. // Инициализация UniSetTypes::conf.
// ( учитываются параметры командной строки --confile и --id-from-config ) // ( учитываются параметры командной строки --confile и --id-from-config )
void uniset_init( int argc, const char* const* argv, const std::string& xmlfile="configure.xml" ); void uniset_init( int argc, const char* const* argv, const std::string& xmlfile="configure.xml" );
} // end of UniSetTypes namespace } // end of UniSetTypes namespace
// --------------------------------------------------------------------------
// "синтаксический сахар"..для логов
#define uinfo if( UniSetTypes::ulog.debugging(Debug::INFO) ) UniSetTypes::ulog
#define uwarn if( UniSetTypes::ulog.debugging(Debug::WARN) ) UniSetTypes::ulog
#define ucrit if( UniSetTypes::ulog.debugging(Debug::CRIT) ) UniSetTypes::ulog
#define ulog1 if( UniSetTypes::ulog.debugging(Debug::LEVEL1) ) UniSetTypes::ulog
#define ulog2 if( UniSetTypes::ulog.debugging(Debug::LEVEL2) ) UniSetTypes::ulog
#define ulog3 if( UniSetTypes::ulog.debugging(Debug::LEVEL3) ) UniSetTypes::ulog
#define ulog4 if( UniSetTypes::ulog.debugging(Debug::LEVEL4) ) UniSetTypes::ulog
#define ulog5 if( UniSetTypes::ulog.debugging(Debug::LEVEL5) ) UniSetTypes::ulog
#define ulog6 if( UniSetTypes::ulog.debugging(Debug::LEVEL6) ) UniSetTypes::ulog
#define ulog7 if( UniSetTypes::ulog.debugging(Debug::LEVEL7) ) UniSetTypes::ulog
#define ulog8 if( UniSetTypes::ulog.debugging(Debug::LEVEL8) ) UniSetTypes::ulog
#define ulog9 if( UniSetTypes::ulog.debugging(Debug::LEVEL9) ) UniSetTypes::ulog
#define ulogsys if( UniSetTypes::ulog.debugging(Debug::SYSTEM) ) UniSetTypes::ulog
#define ulogrep if( UniSetTypes::ulog.debugging(Debug::REPOSITORY) ) UniSetTypes::ulog
// --------------------------------------------------------------------------
#endif // Configuration_H_ #endif // Configuration_H_
...@@ -184,7 +184,7 @@ long UInterface::getValue( ObjectId name, ObjectId node ) ...@@ -184,7 +184,7 @@ long UInterface::getValue( ObjectId name, ObjectId node )
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::TimeOut(set_err("UI(getValue): TimeOut",name,node)); throw UniSetTypes::TimeOut(set_err("UI(getValue): TimeOut",name,node));
...@@ -202,7 +202,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin ...@@ -202,7 +202,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin
{ {
if( si.id == DefaultObjectId ) if( si.id == DefaultObjectId )
{ {
ulog.warn() << "UI(setUndefinedState): ID=UniSetTypes::DefaultObjectId" << endl; uwarn << "UI(setUndefinedState): ID=UniSetTypes::DefaultObjectId" << endl;
return; return;
} }
...@@ -240,7 +240,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin ...@@ -240,7 +240,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << set_err("UI(setUndefinedState):"+string(ex.err),si.id,si.node) << endl; uwarn << set_err("UI(setUndefinedState):"+string(ex.err),si.id,si.node) << endl;
} }
catch(IOController_i::IOBadParam& ex) catch(IOController_i::IOBadParam& ex)
{ {
...@@ -251,24 +251,24 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin ...@@ -251,24 +251,24 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
ulog.warn() << set_err("UI(setUndefinedState): resolve failed",si.id,si.node) << endl; uwarn << set_err("UI(setUndefinedState): resolve failed",si.id,si.node) << endl;
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << set_err("UI(setUndefinedState): method no implement",si.id,si.node) << endl; uwarn << set_err("UI(setUndefinedState): method no implement",si.id,si.node) << endl;
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << set_err("UI(setUndefinedState): object not exist",si.id,si.node) << endl; uwarn << set_err("UI(setUndefinedState): object not exist",si.id,si.node) << endl;
} }
catch(CORBA::COMM_FAILURE){} catch(CORBA::COMM_FAILURE){}
catch(CORBA::SystemException& ex){} catch(CORBA::SystemException& ex){}
catch(...){} catch(...){}
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << set_err("UI(setUndefinedState): Timeout",si.id,si.node) << endl; uwarn << set_err("UI(setUndefinedState): Timeout",si.id,si.node) << endl;
} }
// ------------------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------------------
/*! /*!
...@@ -347,7 +347,7 @@ void UInterface::setValue(ObjectId name, long value, ObjectId node) ...@@ -347,7 +347,7 @@ void UInterface::setValue(ObjectId name, long value, ObjectId node)
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(setValue): CORBA::SystemException" << endl; // uwarn << "UI(setValue): CORBA::SystemException" << endl;
} }
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::TimeOut(set_err("UI(setValue): Timeout",name,node)); throw UniSetTypes::TimeOut(set_err("UI(setValue): Timeout",name,node));
...@@ -382,7 +382,7 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe ...@@ -382,7 +382,7 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe
{ {
if ( si.id == DefaultObjectId ) if ( si.id == DefaultObjectId )
{ {
ulog.warn() << "UI(fastSetValue): ID=UniSetTypes::DefaultObjectId" << endl; uwarn << "UI(fastSetValue): ID=UniSetTypes::DefaultObjectId" << endl;
return; return;
} }
...@@ -420,7 +420,7 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe ...@@ -420,7 +420,7 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
ulog.warn() << set_err("UI(fastSetValue): NameNotFound для объекта",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): NameNotFound для объекта",si.id,si.node) << endl;
} }
catch(IOController_i::IOBadParam& ex) catch(IOController_i::IOBadParam& ex)
{ {
...@@ -431,17 +431,17 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe ...@@ -431,17 +431,17 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe
{ {
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
ulog.warn() << set_err("UI(fastSetValue): resolve failed ",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): resolve failed ",si.id,si.node) << endl;
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
ulog.warn() << set_err("UI(fastSetValue): method no implement",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): method no implement",si.id,si.node) << endl;
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
ulog.warn() << set_err("UI(fastSetValue): object not exist",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): object not exist",si.id,si.node) << endl;
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
...@@ -450,12 +450,12 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe ...@@ -450,12 +450,12 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(setValue): CORBA::SystemException" << endl; // uwarn << "UI(setValue): CORBA::SystemException" << endl;
} }
catch(...){} catch(...){}
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
ulog.warn() << set_err("UI(fastSetValue): Timeout",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): Timeout",si.id,si.node) << endl;
} }
...@@ -542,12 +542,12 @@ void UInterface::askRemoteSensor( ObjectId name, UniversalIO::UIOCommand cmd, Ob ...@@ -542,12 +542,12 @@ void UInterface::askRemoteSensor( ObjectId name, UniversalIO::UIOCommand cmd, Ob
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(askSensor): ошибка системы коммуникации" << endl; // uwarn << "UI(askSensor): ошибка системы коммуникации" << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(askSensor): CORBA::SystemException" << endl; // uwarn << "UI(askSensor): CORBA::SystemException" << endl;
} }
rcache.erase(name, node); rcache.erase(name, node);
...@@ -628,12 +628,12 @@ IOType UInterface::getIOType(ObjectId name, ObjectId node) ...@@ -628,12 +628,12 @@ IOType UInterface::getIOType(ObjectId name, ObjectId node)
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getIOType): ошибка системы коммуникации" << endl; // uwarn << "UI(getIOType): ошибка системы коммуникации" << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getIOType): CORBA::SystemException" << endl; // uwarn << "UI(getIOType): CORBA::SystemException" << endl;
} }
rcache.erase(name, node); rcache.erase(name, node);
...@@ -710,12 +710,12 @@ ObjectType UInterface::getType(ObjectId name, ObjectId node) ...@@ -710,12 +710,12 @@ ObjectType UInterface::getType(ObjectId name, ObjectId node)
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getType): ошибка системы коммуникации" << endl; // uwarn << "UI(getType): ошибка системы коммуникации" << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getType): CORBA::SystemException" << endl; // uwarn << "UI(getType): CORBA::SystemException" << endl;
} }
catch(UniSetTypes::TimeOut){} catch(UniSetTypes::TimeOut){}
...@@ -812,21 +812,11 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec ) ...@@ -812,21 +812,11 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec )
{ {
// если NameService недоступен то, // если NameService недоступен то,
// сразу выдаём ошибку // сразу выдаём ошибку
// if( CORBA::is_nil(localctx) ) uwarn << "not found IOR-file for " << uconf->oind->getNameById(rid,node) << endl;
// { throw UniSetTypes::ResolveNameError();
if( ulog.is_warn() )
{
ulog.warn() << "not found IOR-file for " << uconf->oind->getNameById(rid,node) << endl;
}
throw UniSetTypes::ResolveNameError();
// }
// иначе пытаемся получить ссылку через NameService (omniNames)
// ulog.warn() << "не найден IOR-файл для " << uconf->oind->getNameById(rid,node)
// << " пытаемся получить доступ через NameService \n";
} }
} }
if( node!=uconf->getLocalNode() ) if( node!=uconf->getLocalNode() )
{ {
// Получаем доступ к NameService на данном узле // Получаем доступ к NameService на данном узле
...@@ -838,12 +828,10 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec ) ...@@ -838,12 +828,10 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec )
{ {
try try
{ {
// // ulog.info() << "пытаемся связаться с "<< node << endl;
if( CORBA::is_nil(orb) ) if( CORBA::is_nil(orb) )
orb = uconf->getORB(); orb = uconf->getORB();
ctx = ORepHelpers::getRootNamingContext( orb, nodeName.c_str() ); ctx = ORepHelpers::getRootNamingContext( orb, nodeName.c_str() );
// // ulog.info() << "ok. "<< endl;
break; break;
} }
// catch(CORBA::COMM_FAILURE& ex ) // catch(CORBA::COMM_FAILURE& ex )
...@@ -860,7 +848,7 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec ) ...@@ -860,7 +848,7 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec )
if( CORBA::is_nil(ctx) ) if( CORBA::is_nil(ctx) )
{ {
// ulog.warn() << "NameService недоступен на узле "<< node << endl; // uwarn << "NameService недоступен на узле "<< node << endl;
throw NSResolveError(); throw NSResolveError();
} }
} }
...@@ -918,7 +906,7 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec ) ...@@ -918,7 +906,7 @@ ObjectPtr UInterface::resolve( ObjectId rid , ObjectId node, int timeoutSec )
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(resolve): CORBA::SystemException" << endl; // uwarn << "UI(resolve): CORBA::SystemException" << endl;
throw UniSetTypes::TimeOut(); throw UniSetTypes::TimeOut();
} }
...@@ -977,12 +965,12 @@ void UInterface::send( ObjectId name, TransportMessage& msg, ObjectId node) ...@@ -977,12 +965,12 @@ void UInterface::send( ObjectId name, TransportMessage& msg, ObjectId node)
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(send): ошибка системы коммуникации" << endl; // uwarn << "UI(send): ошибка системы коммуникации" << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(send): CORBA::SystemException" << endl; // uwarn << "UI(send): CORBA::SystemException" << endl;
} }
rcache.erase(name, node); rcache.erase(name, node);
...@@ -1034,7 +1022,7 @@ IOController_i::ShortIOInfo UInterface::getChangedTime( UniSetTypes::ObjectId id ...@@ -1034,7 +1022,7 @@ IOController_i::ShortIOInfo UInterface::getChangedTime( UniSetTypes::ObjectId id
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << "UI(getChangedTime): " << ex.err << endl; uwarn << "UI(getChangedTime): " << ex.err << endl;
} }
catch(IOController_i::IOBadParam& ex ) catch(IOController_i::IOBadParam& ex )
{ {
...@@ -1044,30 +1032,30 @@ IOController_i::ShortIOInfo UInterface::getChangedTime( UniSetTypes::ObjectId id ...@@ -1044,30 +1032,30 @@ IOController_i::ShortIOInfo UInterface::getChangedTime( UniSetTypes::ObjectId id
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << set_err("UI(getChangedTime): resolve failed ",si.id,si.node) << endl; uwarn << set_err("UI(getChangedTime): resolve failed ",si.id,si.node) << endl;
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << set_err("UI(getChangedTime): method no implement",si.id,si.node) << endl; uwarn << set_err("UI(getChangedTime): method no implement",si.id,si.node) << endl;
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
ulog.warn() << set_err("UI(getChangedTime): object not exist",si.id,si.node) << endl; uwarn << set_err("UI(getChangedTime): object not exist",si.id,si.node) << endl;
} }
catch(CORBA::COMM_FAILURE) catch(CORBA::COMM_FAILURE)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(saveState): CORBA::COMM_FAILURE " << endl; // uwarn << "UI(saveState): CORBA::COMM_FAILURE " << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(saveState): CORBA::SystemException" << endl; // uwarn << "UI(saveState): CORBA::SystemException" << endl;
} }
catch(...){} catch(...){}
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(getChangedTime): Timeout",si.id, si.node)); throw UniSetTypes::TimeOut(set_err("UI(getChangedTime): Timeout",si.id, si.node));
} }
...@@ -1086,11 +1074,11 @@ ObjectPtr UInterface::CacheOfResolve::resolve( ObjectId id, ObjectId node ) ...@@ -1086,11 +1074,11 @@ ObjectPtr UInterface::CacheOfResolve::resolve( ObjectId id, ObjectId node )
throw UniSetTypes::NameNotFound(); throw UniSetTypes::NameNotFound();
it->second.timestamp = time(NULL); // фиксируем время последнего обращения it->second.timestamp = time(NULL); // фиксируем время последнего обращения
// т.к. функция возвращает указатель // т.к. функция возвращает указатель
// и тот кто вызывает отвечает за освобождение памяти // и тот кто вызывает отвечает за освобождение памяти
// то мы делаем _duplicate.... // то мы делаем _duplicate....
if( !CORBA::is_nil(it->second.ptr) ) if( !CORBA::is_nil(it->second.ptr) )
return CORBA::Object::_duplicate(it->second.ptr); return CORBA::Object::_duplicate(it->second.ptr);
...@@ -1116,8 +1104,7 @@ bool UInterface::CacheOfResolve::clean() ...@@ -1116,8 +1104,7 @@ bool UInterface::CacheOfResolve::clean()
{ {
UniSetTypes::uniset_rwmutex_wrlock l(cmutex); UniSetTypes::uniset_rwmutex_wrlock l(cmutex);
if( ulog.is_info() ) uinfo << "UI: clean cache...."<< endl;
ulog.info() << "UI: clean cache...."<< endl;
time_t tm = time(NULL)-CleanTime*60; time_t tm = time(NULL)-CleanTime*60;
// remove_if(mcache.begin(), mcache.end(),OldRef_eq(tm)); // remove_if(mcache.begin(), mcache.end(),OldRef_eq(tm));
...@@ -1172,7 +1159,7 @@ bool UInterface::isExist( UniSetTypes::ObjectId id ) ...@@ -1172,7 +1159,7 @@ bool UInterface::isExist( UniSetTypes::ObjectId id )
} }
catch(UniSetTypes::Exception& ex) catch(UniSetTypes::Exception& ex)
{ {
// ulog.warn() << "UI(isExist): " << ex << endl; // uwarn << "UI(isExist): " << ex << endl;
} }
catch(...){} catch(...){}
return false; return false;
...@@ -1303,12 +1290,12 @@ void UInterface::askRemoteThreshold( UniSetTypes::ObjectId sid, UniSetTypes::Obj ...@@ -1303,12 +1290,12 @@ void UInterface::askRemoteThreshold( UniSetTypes::ObjectId sid, UniSetTypes::Obj
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(askThreshold): ошибка системы коммуникации" << endl; // uwarn << "UI(askThreshold): ошибка системы коммуникации" << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(askThreshold): CORBA::SystemException" << endl; // uwarn << "UI(askThreshold): CORBA::SystemException" << endl;
} }
rcache.erase(sid, node); rcache.erase(sid, node);
throw UniSetTypes::TimeOut(set_err("UI(askThreshold): Timeout",sid,node)); throw UniSetTypes::TimeOut(set_err("UI(askThreshold): Timeout",sid,node));
...@@ -1390,7 +1377,7 @@ IONotifyController_i::ThresholdInfo ...@@ -1390,7 +1377,7 @@ IONotifyController_i::ThresholdInfo
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(getThresholdInfo): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(getThresholdInfo): Timeout",si.id,si.node));
...@@ -1461,7 +1448,7 @@ long UInterface::getRawValue( const IOController_i::SensorInfo& si ) ...@@ -1461,7 +1448,7 @@ long UInterface::getRawValue( const IOController_i::SensorInfo& si )
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(getRawValue): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(getRawValue): Timeout",si.id,si.node));
...@@ -1541,7 +1528,7 @@ void UInterface::calibrate(const IOController_i::SensorInfo& si, ...@@ -1541,7 +1528,7 @@ void UInterface::calibrate(const IOController_i::SensorInfo& si,
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(calibrate): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(calibrate): Timeout",si.id,si.node));
...@@ -1612,7 +1599,7 @@ IOController_i::CalibrateInfo UInterface::getCalibrateInfo( const IOController_i ...@@ -1612,7 +1599,7 @@ IOController_i::CalibrateInfo UInterface::getCalibrateInfo( const IOController_i
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(getCalibrateInfo): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(getCalibrateInfo): Timeout",si.id,si.node));
...@@ -1690,7 +1677,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( UniSetTypes::IDList& ...@@ -1690,7 +1677,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( UniSetTypes::IDList&
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->getLocalNode());
throw UniSetTypes::TimeOut(set_err("UI(getSensorSeq): Timeout",sid,conf->getLocalNode())); throw UniSetTypes::TimeOut(set_err("UI(getSensorSeq): Timeout",sid,conf->getLocalNode()));
...@@ -1766,7 +1753,7 @@ IDSeq_var UInterface::setOutputSeq( const IOController_i::OutSeq& lst, UniSetTyp ...@@ -1766,7 +1753,7 @@ IDSeq_var UInterface::setOutputSeq( const IOController_i::OutSeq& lst, UniSetTyp
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(lst[0].si.id,lst[0].si.node); rcache.erase(lst[0].si.id,lst[0].si.node);
throw UniSetTypes::TimeOut(set_err("UI(setOutputSeq): Timeout",lst[0].si.id,lst[0].si.node)); throw UniSetTypes::TimeOut(set_err("UI(setOutputSeq): Timeout",lst[0].si.id,lst[0].si.node));
...@@ -1855,7 +1842,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( UniSetTypes::IDList& lst, ...@@ -1855,7 +1842,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( UniSetTypes::IDList& lst,
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->getLocalNode());
throw UniSetTypes::TimeOut(set_err("UI(askSensorSeq): Timeout",sid,conf->getLocalNode())); throw UniSetTypes::TimeOut(set_err("UI(askSensorSeq): Timeout",sid,conf->getLocalNode()));
...@@ -1923,7 +1910,7 @@ IOController_i::ShortMapSeq* UInterface::getSensors( UniSetTypes::ObjectId id, U ...@@ -1923,7 +1910,7 @@ IOController_i::ShortMapSeq* UInterface::getSensors( UniSetTypes::ObjectId id, U
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// ulog.warn() << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(id,node); rcache.erase(id,node);
throw UniSetTypes::TimeOut(set_err("UI(getSensors): Timeout",id,node)); throw UniSetTypes::TimeOut(set_err("UI(getSensors): Timeout",id,node));
......
...@@ -54,7 +54,7 @@ void IORFile::setIOR( const ObjectId id, const ObjectId node, const string& sior ...@@ -54,7 +54,7 @@ void IORFile::setIOR( const ObjectId id, const ObjectId node, const string& sior
if( !ior_file ) if( !ior_file )
{ {
ulog.crit() << "(IORFile): не смог открыть файл "+fname << endl; ucrit << "(IORFile): не смог открыть файл "+fname << endl;
throw TimeOut("(IORFile): не смог создать ior-файл "+fname); throw TimeOut("(IORFile): не смог создать ior-файл "+fname);
} }
......
...@@ -45,8 +45,7 @@ namespace ORepHelpers ...@@ -45,8 +45,7 @@ namespace ORepHelpers
CosNaming::NamingContext_ptr getContext(const string& cname, int argc, const char* const* argv, const string& nsName )throw(ORepFailed) CosNaming::NamingContext_ptr getContext(const string& cname, int argc, const char* const* argv, const string& nsName )throw(ORepFailed)
{ {
CORBA::ORB_var orb = CORBA::ORB_init( argc, (char**)argv ); CORBA::ORB_var orb = CORBA::ORB_init( argc, (char**)argv );
if( ulog.is_repository() ) ulogrep << "OREPHELP: orb init ok"<< endl;
ulog.repository() << "OREPHELP: orb init ok"<< endl;
return getContext(orb, cname, nsName); return getContext(orb, cname, nsName);
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
...@@ -54,26 +53,22 @@ namespace ORepHelpers ...@@ -54,26 +53,22 @@ namespace ORepHelpers
{ {
CosNaming::NamingContext_var rootC; CosNaming::NamingContext_var rootC;
if( ulog.is_repository() ) ulogrep << "OREPHELPER(getContext): get rootcontext...(servname = "<< servname << ")" <<endl;
ulog.repository() << "OREPHELPER(getContext): get rootcontext...(servname = "<< servname << ")" <<endl;
rootC = getRootNamingContext(orb, servname); rootC = getRootNamingContext(orb, servname);
if( ulog.is_repository() ) ulogrep << "OREPHELPER(getContext): get rootContect ok " << endl;
ulog.repository() << "OREPHELPER(getContext): get rootContect ok " << endl;
if( CORBA::is_nil(rootC) ) if( CORBA::is_nil(rootC) )
{ {
if( ulog.is_warn() ) uwarn << "OREPHELPER: не смог получить ссылку на NameServices"<< endl;
ulog.warn() << "OREPHELPER: не смог получить ссылку на NameServices"<< endl;
throw ORepFailed("OREPHELPER(getContext): не смог получить ссылку на NameServices"); throw ORepFailed("OREPHELPER(getContext): не смог получить ссылку на NameServices");
} }
if ( cname.empty() ) if ( cname.empty() )
return rootC._retn(); return rootC._retn();
if( ulog.is_repository() ) ulogrep << "OREPHELPER(getContext): get ref context " << cname << endl;
ulog.repository() << "OREPHELPER(getContext): get ref context " << cname << endl;
CosNaming::Name_var ctxName = omniURI::stringToName(cname.c_str()); CosNaming::Name_var ctxName = omniURI::stringToName(cname.c_str());
CosNaming::NamingContext_var ctx; CosNaming::NamingContext_var ctx;
...@@ -91,16 +86,14 @@ namespace ORepHelpers ...@@ -91,16 +86,14 @@ namespace ORepHelpers
{ {
ostringstream err; ostringstream err;
err << "OREPHELPER(getContext): не смог получить ссылку на контекст " << cname; err << "OREPHELPER(getContext): не смог получить ссылку на контекст " << cname;
if( ulog.is_warn() ) uwarn << err.str() << endl;
ulog.warn() << err.str() << endl;
throw ORepFailed(err.str()); throw ORepFailed(err.str());
} }
catch(const CosNaming::NamingContext::NotFound &nf) catch(const CosNaming::NamingContext::NotFound &nf)
{ {
ostringstream err; ostringstream err;
err << "OREPHELPER(getContext): не найден контекст " << cname; err << "OREPHELPER(getContext): не найден контекст " << cname;
if( ulog.warn() ) uwarn << err.str() << endl;
ulog.warn() << err.str() << endl;
throw ORepFailed(err.str()); throw ORepFailed(err.str());
} }
catch(const CosNaming::NamingContext::CannotProceed &np) catch(const CosNaming::NamingContext::CannotProceed &np)
...@@ -108,40 +101,33 @@ namespace ORepHelpers ...@@ -108,40 +101,33 @@ namespace ORepHelpers
ostringstream err; ostringstream err;
err << "OREPHELPER(getContext): catch CannotProced " << cname; err << "OREPHELPER(getContext): catch CannotProced " << cname;
err << " bad part=" << omniURI::nameToString(np.rest_of_name); err << " bad part=" << omniURI::nameToString(np.rest_of_name);
if( ulog.is_warn() ) uwarn << err.str() << endl;
ulog.warn() << err.str() << endl;
throw ORepFailed(err.str()); throw ORepFailed(err.str());
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
ostringstream err; ostringstream err;
err << "OREPHELPER(getContext): поймали CORBA::SystemException: " << ex.NP_minorString(); err << "OREPHELPER(getContext): поймали CORBA::SystemException: " << ex.NP_minorString();
if( ulog.is_warn() ) uwarn << err.str() << endl;
ulog.warn() << err.str() << endl;
throw ORepFailed(err.str()); throw ORepFailed(err.str());
} }
catch(CORBA::Exception&) catch(CORBA::Exception&)
{ {
if( ulog.is_warn() ) uwarn << "OREPHELPER(getContext): поймали CORBA::Exception." << endl;
ulog.warn() << "OREPHELPER(getContext): поймали CORBA::Exception." << endl;
throw ORepFailed(); throw ORepFailed();
} }
catch(omniORB::fatalException& fe) catch(omniORB::fatalException& fe)
{ {
ostringstream err; ostringstream err;
err << "OREPHELPER(getContext): поймали omniORB::fatalException:"; err << "OREPHELPER(getContext): поймали omniORB::fatalException:";
if( ulog.is_warn() ) uwarn << err << endl;
{ uwarn << " file: " << fe.file() << endl;
ulog.warn() << err << endl; uwarn << " line: " << fe.line() << endl;
ulog.warn() << " file: " << fe.file() << endl; uwarn << " mesg: " << fe.errmsg() << endl;
ulog.warn() << " line: " << fe.line() << endl;
ulog.warn() << " mesg: " << fe.errmsg() << endl;
}
throw ORepFailed(err.str()); throw ORepFailed(err.str());
} }
if( ulog.is_repository() ) ulogrep << "getContext: получили "<< cname << endl;
ulog.repository() << "getContext: получили "<< cname << endl;
// Если _var // Если _var
// return CosNaming::NamingContext::_duplicate(ctx); // return CosNaming::NamingContext::_duplicate(ctx);
...@@ -160,8 +146,7 @@ namespace ORepHelpers ...@@ -160,8 +146,7 @@ namespace ORepHelpers
{ {
// cout << "ORepHelpers(getRootNamingContext): nsName->" << nsName << endl; // cout << "ORepHelpers(getRootNamingContext): nsName->" << nsName << endl;
CORBA::Object_var initServ = orb->resolve_initial_references(nsName.c_str()); CORBA::Object_var initServ = orb->resolve_initial_references(nsName.c_str());
if( ulog.is_repository() ) ulogrep << "OREPHELP: get rootcontext...(nsName = "<< nsName << ")" <<endl;
ulog.repository() << "OREPHELP: get rootcontext...(nsName = "<< nsName << ")" <<endl;
rootContext = CosNaming::NamingContext::_narrow(initServ); rootContext = CosNaming::NamingContext::_narrow(initServ);
if (CORBA::is_nil(rootContext)) if (CORBA::is_nil(rootContext))
...@@ -169,16 +154,14 @@ namespace ORepHelpers ...@@ -169,16 +154,14 @@ namespace ORepHelpers
string err("ORepHelpers: Не удалось преобразовать ссылку к нужному типу."); string err("ORepHelpers: Не удалось преобразовать ссылку к нужному типу.");
throw ORepFailed(err.c_str()); throw ORepFailed(err.c_str());
} }
if( ulog.is_repository() ) ulogrep << "OREPHELP: init NameService ok"<< endl;
ulog.repository() << "OREPHELP: init NameService ok"<< endl;
} }
catch(CORBA::ORB::InvalidName& ex) catch(CORBA::ORB::InvalidName& ex)
{ {
ostringstream err; ostringstream err;
err << "ORepHelpers(getRootNamingContext): InvalidName=" << nsName; err << "ORepHelpers(getRootNamingContext): InvalidName=" << nsName;
if( ulog.is_warn() ) uwarn << err.str() << endl;
ulog.warn() << err.str() << endl;
throw ORepFailed(err.str()); throw ORepFailed(err.str());
} }
catch (CORBA::COMM_FAILURE& ex) catch (CORBA::COMM_FAILURE& ex)
...@@ -198,8 +181,7 @@ namespace ORepHelpers ...@@ -198,8 +181,7 @@ namespace ORepHelpers
throw ORepFailed(err); throw ORepFailed(err);
} }
if( ulog.is_repository() ) ulogrep << "OREPHELP: get root context ok"<< endl;
ulog.repository() << "OREPHELP: get root context ok"<< endl;
// // Если создан как _ptr // // Если создан как _ptr
// return rootContext; // return rootContext;
......
...@@ -119,14 +119,9 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -119,14 +119,9 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
{ {
if( (unsigned)ind >= omap.size() ) if( (unsigned)ind >= omap.size() )
{ {
if( ulog.is_info() ) uwarn << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size()
{ << "... Делаем resize + 100" << endl;
ostringstream msg;
msg << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size();
// throw OutOfRange(msg.str());
ulog.warn() << msg.str() << "... Делаем resize + 100\n";
}
omap.resize(omap.size()+100); omap.resize(omap.size()+100);
} }
...@@ -135,7 +130,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -135,7 +130,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
{ {
ostringstream msg; ostringstream msg;
msg << "(ObjectIndex_XML::build):: не нашли параметр RootSection в конф. файле "; msg << "(ObjectIndex_XML::build):: не нашли параметр RootSection в конф. файле ";
ulog.crit() << msg.str() << endl; ucrit << msg.str() << endl;
throw SystemError(msg.str()); throw SystemError(msg.str());
} }
...@@ -144,6 +139,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -144,6 +139,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
{ {
ostringstream msg; ostringstream msg;
msg << "(ObjectIndex_XML::build): не нашли корневого раздела " << sec; msg << "(ObjectIndex_XML::build): не нашли корневого раздела " << sec;
ucrit << msg.str() << endl;
throw NameNotFound(msg.str()); throw NameNotFound(msg.str());
} }
...@@ -153,6 +149,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -153,6 +149,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
{ {
ostringstream msg; ostringstream msg;
msg << "(ObjectIndex_XML::build): не удалось перейти к списку элементов " << sec; msg << "(ObjectIndex_XML::build): не удалось перейти к списку элементов " << sec;
ucrit << msg.str() << endl;
throw NameNotFound(msg.str()); throw NameNotFound(msg.str());
} }
...@@ -164,6 +161,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -164,6 +161,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
{ {
ostringstream msg; ostringstream msg;
msg << "(ObjectIndex_XML::build): у секции " << sec << " не указано свойство 'name' "; msg << "(ObjectIndex_XML::build): у секции " << sec << " не указано свойство 'name' ";
ucrit << msg.str() << endl;
throw NameNotFound(msg.str()); throw NameNotFound(msg.str());
} }
...@@ -173,7 +171,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -173,7 +171,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
for( ;it.getCurrent(); it.goNext() ) for( ;it.getCurrent(); it.goNext() )
{ {
omap[ind].id = ind; omap[ind].id = ind;
// name // name
const string name(secname + xml.getProp(it,"name")); const string name(secname + xml.getProp(it,"name"));
delete[] omap[ind].repName; delete[] omap[ind].repName;
...@@ -182,7 +180,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -182,7 +180,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
// mok // mok
mok[name] = ind; // mok[omap[ind].repName] = ind; mok[name] = ind; // mok[omap[ind].repName] = ind;
// textname // textname
string textname(xml.getProp(it,"textname")); string textname(xml.getProp(it,"textname"));
if( textname.empty() ) if( textname.empty() )
...@@ -191,7 +189,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -191,7 +189,7 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
delete[] omap[ind].textName; delete[] omap[ind].textName;
omap[ind].textName = new char[textname.size()+1]; omap[ind].textName = new char[textname.size()+1];
strcpy( omap[ind].textName, textname.c_str() ); strcpy( omap[ind].textName, textname.c_str() );
omap[ind].data = (void*)(xmlNode*)it; omap[ind].data = (void*)(xmlNode*)it;
// cout << "read: " << "(" << ind << ") " << omap[ind].repName << "\t" << omap[ind].textName << endl; // cout << "read: " << "(" << ind << ") " << omap[ind].repName << "\t" << omap[ind].textName << endl;
...@@ -199,14 +197,9 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec, ...@@ -199,14 +197,9 @@ unsigned int ObjectIndex_XML::read_section( UniXML& xml, const std::string& sec,
if( (unsigned)ind >= omap.size() ) if( (unsigned)ind >= omap.size() )
{ {
if( ulog.is_info() ) uinfo << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size()
{ << "... Делаем resize + 100" << endl;
ostringstream msg;
msg << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size();
// throw OutOfRange(msg.str());
if( ulog.is_info() )
ulog.info() << msg.str() << "... Делаем resize + 100\n";
}
omap.resize(omap.size()+100); omap.resize(omap.size()+100);
} }
} }
...@@ -220,8 +213,7 @@ unsigned int ObjectIndex_XML::read_nodes( UniXML& xml, const std::string& sec, u ...@@ -220,8 +213,7 @@ unsigned int ObjectIndex_XML::read_nodes( UniXML& xml, const std::string& sec, u
{ {
ostringstream msg; ostringstream msg;
msg << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size(); msg << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size();
// throw OutOfRange(msg.str()); uinfo << msg.str() << "... Делаем resize + 100\n";
ulog.warn() << msg.str() << "... Делаем resize + 100\n";
omap.resize(omap.size()+100); omap.resize(omap.size()+100);
} }
...@@ -276,8 +268,7 @@ unsigned int ObjectIndex_XML::read_nodes( UniXML& xml, const std::string& sec, u ...@@ -276,8 +268,7 @@ unsigned int ObjectIndex_XML::read_nodes( UniXML& xml, const std::string& sec, u
{ {
ostringstream msg; ostringstream msg;
msg << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size(); msg << "(ObjectIndex_XML::build): не хватило размера массива maxSize=" << omap.size();
// throw OutOfRange(msg.str()); uwarn << msg.str() << "... Делаем resize + 100" << endl;
ulog.warn() << msg.str() << "... Делаем resize + 100\n";
omap.resize(omap.size()+100); omap.resize(omap.size()+100);
} }
} }
......
...@@ -93,7 +93,7 @@ void ObjectIndex_idXML::read_section( UniXML& xml, const std::string& sec ) ...@@ -93,7 +93,7 @@ void ObjectIndex_idXML::read_section( UniXML& xml, const std::string& sec )
{ {
ostringstream msg; ostringstream msg;
msg << "(ObjectIndex_idXML::build):: не нашли параметр RootSection в конф. файле "; msg << "(ObjectIndex_idXML::build):: не нашли параметр RootSection в конф. файле ";
ulog.crit() << msg.str() << endl; ucrit << msg.str() << endl;
throw SystemError(msg.str()); throw SystemError(msg.str());
} }
......
...@@ -98,8 +98,7 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co ...@@ -98,8 +98,7 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co
{ {
ostringstream err; ostringstream err;
if( ulog.is_info() ) uinfo << "ObjectRepository(registration): регистрируем " << name << endl;
ulog.info() << "ObjectRepository(registration): регистрируем " << name << endl;
// Проверка корректности имени // Проверка корректности имени
char bad = ORepHelpers::checkBadSymbols(name); char bad = ORepHelpers::checkBadSymbols(name);
...@@ -118,28 +117,26 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co ...@@ -118,28 +117,26 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co
try try
{ {
// Добавляем в репозиторий новую ссылку (заменяя если есть старую) // Добавляем в репозиторий новую ссылку (заменяя если есть старую)
CORBA::ORB_var orb = uconf->getORB(); CORBA::ORB_var orb = uconf->getORB();
ctx = ORepHelpers::getContext(orb, section, nsName); ctx = ORepHelpers::getContext(orb, section, nsName);
ctx->bind(oName, oRef); ctx->bind(oName, oRef);
return; return;
} }
catch(const CosNaming::NamingContext::AlreadyBound &nf) catch(const CosNaming::NamingContext::AlreadyBound &nf)
{ {
if( ulog.is_warn() ) uwarn << "(registration): "<< name <<" уже зарегестрирован в "<< section << "!!!" << endl;
ulog.warn() << "(registration): "<< name <<" уже зарегестрирован в "<< section << "!!!" << endl;
if( !force ) if( !force )
throw ObjectNameAlready(); throw ObjectNameAlready();
// разрегистриуем, перед повтроной попыткой // разрегистриуем, перед повтроной попыткой
ctx->unbind(oName); ctx->unbind(oName);
continue; continue;
} }
catch(ORepFailed) catch(ORepFailed)
{ {
string er("ObjectRepository(registrartion): (getContext) не смог зарегистрировать "+name); string er("ObjectRepository(registrartion): (getContext) не смог зарегистрировать "+name);
throw ORepFailed(er.c_str()); throw ORepFailed(er.c_str());
} }
catch(CosNaming::NamingContext::NotFound) catch(CosNaming::NamingContext::NotFound)
...@@ -157,18 +154,13 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co ...@@ -157,18 +154,13 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( ulog.is_warn() ) uwarn << "ObjectRepository(registrartion): поймали CORBA::SystemException: "
ulog.warn() << "ObjectRepository(registrartion): поймали CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
err << "ObjectRepository(registrartion): поймали CORBA::SystemException: " << ex.NP_minorString(); err << "ObjectRepository(registrartion): поймали CORBA::SystemException: " << ex.NP_minorString();
} }
// catch(...)
// {
// ulog.warn() << "поймали что-то неизвестное..."<< endl;
// }
} }
throw ORepFailed(err.str().c_str()); throw ORepFailed(err.str().c_str());
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
...@@ -203,23 +195,16 @@ void ObjectRepository::registration( const std::string& fullName, const UniSetTy ...@@ -203,23 +195,16 @@ void ObjectRepository::registration( const std::string& fullName, const UniSetTy
void ObjectRepository::unregistration(const string& name, const string& section) void ObjectRepository::unregistration(const string& name, const string& section)
throw(ORepFailed, NameNotFound) throw(ORepFailed, NameNotFound)
{ {
// ulog.info() << "OREP: unregistration "<< name << " из "<< section << endl;
ostringstream err; ostringstream err;
CosNaming::Name_var oName = omniURI::stringToName(name.c_str()); CosNaming::Name_var oName = omniURI::stringToName(name.c_str());
// ulog.info() << "OREP: string to name ok"<< endl;
CosNaming::NamingContext_var ctx; CosNaming::NamingContext_var ctx;
CORBA::ORB_var orb = uconf->getORB(); CORBA::ORB_var orb = uconf->getORB();
ctx = ORepHelpers::getContext(orb, section, nsName); ctx = ORepHelpers::getContext(orb, section, nsName);
// ulog.info() << "OREP: get context " << section <<" ok"<< endl;
try try
{ {
// Удаляем запись об объекте // Удаляем запись об объекте
ctx->unbind(oName); ctx->unbind(oName);
// ulog.info() << "OREP: ok" << endl;
return; return;
} }
catch(const CosNaming::NamingContext::NotFound &nf) catch(const CosNaming::NamingContext::NotFound &nf)
...@@ -344,7 +329,6 @@ bool ObjectRepository::listSections(const string& in_section, ListObjectName *ls ...@@ -344,7 +329,6 @@ bool ObjectRepository::listSections(const string& in_section, ListObjectName *ls
bool ObjectRepository::list(const string& section, ListObjectName *ls, unsigned int how_many, ObjectType type) bool ObjectRepository::list(const string& section, ListObjectName *ls, unsigned int how_many, ObjectType type)
{ {
// Возвращает false если вынут не весь список... // Возвращает false если вынут не весь список...
// ulog.info() << "получаем список из "<< section << endl;
CosNaming::NamingContext_var ctx; CosNaming::NamingContext_var ctx;
try try
{ {
...@@ -353,17 +337,16 @@ bool ObjectRepository::list(const string& section, ListObjectName *ls, unsigned ...@@ -353,17 +337,16 @@ bool ObjectRepository::list(const string& section, ListObjectName *ls, unsigned
} }
catch(ORepFailed) catch(ORepFailed)
{ {
ulog.warn() << "ORepository(list): не смог получить ссылку на "<< section << endl; uwarn << "ORepository(list): не смог получить ссылку на "<< section << endl;
throw; throw;
// return false;
} }
if( CORBA::is_nil(ctx) ) if( CORBA::is_nil(ctx) )
{ {
ulog.warn() << "ORepository(list): не смог получить ссылку на "<< section << endl; uwarn << "ORepository(list): не смог получить ссылку на "<< section << endl;
throw ORepFailed(); throw ORepFailed();
} }
CosNaming::BindingList_var bl; CosNaming::BindingList_var bl;
CosNaming::BindingIterator_var bi; CosNaming::BindingIterator_var bi;
ctx->list(how_many,bl,bi); ctx->list(how_many,bl,bi);
...@@ -435,10 +418,10 @@ bool ObjectRepository::isExist( ObjectPtr oref ) ...@@ -435,10 +418,10 @@ bool ObjectRepository::isExist( ObjectPtr oref )
catch(CORBA::Exception&){} catch(CORBA::Exception&){}
catch(omniORB::fatalException& fe) catch(omniORB::fatalException& fe)
{ {
ulog.warn() << "ObjectRepository(isExist): "<< "поймали omniORB::fatalException:" << endl; uwarn << "ObjectRepository(isExist): "<< "поймали omniORB::fatalException:" << endl;
ulog.warn() << " file: " << fe.file() << endl; uwarn << " file: " << fe.file() << endl;
ulog.warn() << " line: " << fe.line() << endl; uwarn << " line: " << fe.line() << endl;
ulog.warn() << " mesg: " << fe.errmsg() << endl; uwarn << " mesg: " << fe.errmsg() << endl;
} }
catch(...){} catch(...){}
......
...@@ -64,14 +64,13 @@ bool ObjectRepositoryFactory::createSection( const char* name, const char* in_se ...@@ -64,14 +64,13 @@ bool ObjectRepositoryFactory::createSection( const char* name, const char* in_se
throw ( InvalidObjectName(err.str().c_str()) ); throw ( InvalidObjectName(err.str().c_str()) );
} }
ulog.repository() << "CreateSection: name = "<< name << " in section = " << in_section << endl; ulogrep << "CreateSection: name = "<< name << " in section = " << in_section << endl;
if( sizeof(in_section)==0 ) if( sizeof(in_section)==0 )
{ {
if( ulog.repository() ) ulogrep << "CreateSection: in_section=0"<< endl;
ulog.repository() << "CreateSection: in_section=0"<< endl;
return createRootSection(name); return createRootSection(name);
} }
int argc(uconf->getArgc()); int argc(uconf->getArgc());
const char * const* argv(uconf->getArgv()); const char * const* argv(uconf->getArgv());
CosNaming::NamingContext_var ctx = ORepHelpers::getContext(in_section, argc, argv, uconf->getNSName() ); CosNaming::NamingContext_var ctx = ORepHelpers::getContext(in_section, argc, argv, uconf->getNSName() );
...@@ -93,16 +92,13 @@ bool ObjectRepositoryFactory::createSectionF(const string& fullName)throw(ORepFa ...@@ -93,16 +92,13 @@ bool ObjectRepositoryFactory::createSectionF(const string& fullName)throw(ORepFa
string name(ObjectIndex::getBaseName(fullName)); string name(ObjectIndex::getBaseName(fullName));
string sec(ORepHelpers::getSectionName(fullName)); string sec(ORepHelpers::getSectionName(fullName));
ulog.repository() << name << endl; ulogrep << name << endl;
ulog.repository() << sec << endl; ulogrep << sec << endl;
if ( sec.empty() ) if ( sec.empty() )
{ {
if( ulog.repository() ) ulogrep << "SectionName is empty!!!"<< endl;
{ ulogrep << "Добавляем в "<< uconf->getRootSection() << endl;
ulog.repository() << "SectionName is empty!!!"<< endl;
ulog.repository() << "Добавляем в "<< uconf->getRootSection() << endl;
}
return createSection(name, uconf->getRootSection()); return createSection(name, uconf->getRootSection());
} }
else else
...@@ -129,59 +125,48 @@ bool ObjectRepositoryFactory::createContext(const char *cname, CosNaming::Naming ...@@ -129,59 +125,48 @@ bool ObjectRepositoryFactory::createContext(const char *cname, CosNaming::Naming
CosNaming::Name_var nc = omniURI::stringToName(cname); CosNaming::Name_var nc = omniURI::stringToName(cname);
try try
{ {
if( ulog.repository() ) ulogrep << "ORepFactory(createContext): создаю новый контекст "<< cname << endl;
ulog.repository() << "ORepFactory(createContext): создаю новый контекст "<< cname << endl;
ctx->bind_new_context(nc); ctx->bind_new_context(nc);
if( ulog.repository() ) ulogrep << "ORepFactory(createContext): создал. " << endl;
ulog.repository() << "ORepFactory(createContext): создал. " << endl;
return true; return true;
} }
catch(const CosNaming::NamingContext::AlreadyBound &ab) catch(const CosNaming::NamingContext::AlreadyBound &ab)
{ {
// ctx->resolve(nc); // ctx->resolve(nc);
if( ulog.repository() ) ulogrep << "ORepFactory(createContext): context "<< cname << " уже есть"<< endl;
ulog.repository() <<"ORepFactory(createContext): context "<< cname << " уже есть"<< endl;
return true; return true;
} }
catch(CosNaming::NamingContext::NotFound) catch(CosNaming::NamingContext::NotFound)
{ {
if( ulog.repository() ) ulogrep << "ORepFactory(createContext): NotFound "<< cname << endl;
ulog.repository() <<"ORepFactory(createContext): NotFound "<< cname << endl;
throw NameNotFound(); throw NameNotFound();
} }
catch(const CosNaming::NamingContext::InvalidName &nf) catch(const CosNaming::NamingContext::InvalidName &nf)
{ {
if( ulog.is_warn() ) uwarn << "ORepFactory(createContext): (InvalidName) " << cname;
ulog.warn() << "ORepFactory(createContext): (InvalidName) " << cname;
} }
catch(const CosNaming::NamingContext::CannotProceed &cp) catch(const CosNaming::NamingContext::CannotProceed &cp)
{ {
if( ulog.is_crit() ) uwarn << "ORepFactory(createContext): catch CannotProced "
ulog.warn() << "ORepFactory(createContext): catch CannotProced "
<< cname << " bad part=" << cname << " bad part="
<< omniURI::nameToString(cp.rest_of_name); << omniURI::nameToString(cp.rest_of_name);
throw NameNotFound(); throw NameNotFound();
} }
catch( CORBA::SystemException& ex) catch( CORBA::SystemException& ex)
{ {
if( ulog.is_crit() ) ucrit << "ORepFactory(createContext): CORBA::SystemException: "
ulog.crit() << "ORepFactory(createContext): CORBA::SystemException: " << ex.NP_minorString() << endl;
<< ex.NP_minorString() << endl;
} }
catch(CORBA::Exception&) catch(CORBA::Exception&)
{ {
if( ulog.is_crit() ) ucrit << "поймали CORBA::Exception." << endl;
ulog.crit() << "поймали CORBA::Exception." << endl;
} }
catch(omniORB::fatalException& fe) catch(omniORB::fatalException& fe)
{ {
if( ulog.is_crit() ) ucrit << "поймали omniORB::fatalException:" << endl;
{ ucrit << " file: " << fe.file() << endl;
ulog.crit() << "поймали omniORB::fatalException:" << endl; ucrit << " line: " << fe.line() << endl;
ulog.crit() << " file: " << fe.file() << endl; ucrit << " mesg: " << fe.errmsg() << endl;
ulog.crit() << " line: " << fe.line() << endl;
ulog.crit() << " mesg: " << fe.errmsg() << endl;
}
} }
return false; return false;
...@@ -264,22 +249,22 @@ bool ObjectRepositoryFactory::removeSection(const string& fullName, bool recursi ...@@ -264,22 +249,22 @@ bool ObjectRepositoryFactory::removeSection(const string& fullName, bool recursi
} }
else if( bl[i].binding_type == CosNaming::ncontext) else if( bl[i].binding_type == CosNaming::ncontext)
{ {
if( recursive ) if( recursive )
{ {
ulog.repository() << "ORepFactory: удаляем рекурсивно..." << endl; ulogrep << "ORepFactory: удаляем рекурсивно..." << endl;
string rctx = fullName+"/"+omniURI::nameToString(bl[i].binding_name); string rctx = fullName+"/"+omniURI::nameToString(bl[i].binding_name);
ulog.repository() << rctx << endl; ulogrep << rctx << endl;
if ( !removeSection(rctx)) if ( !removeSection(rctx))
{ {
ulog.repository() << "рекурсивно удалить не удалось" << endl; ulogrep << "рекурсивно удалить не удалось" << endl;
rem = false; rem = false;
} }
} }
else else
{ {
ulog.repository() << "ORepFactory: " << omniURI::nameToString(bl[i].binding_name) << " - контекст!!! "; ulogrep << "ORepFactory: " << omniURI::nameToString(bl[i].binding_name) << " - контекст!!! ";
ulog.repository() << "ORepFactory: пока не удаляем" << endl; ulogrep << "ORepFactory: пока не удаляем" << endl;
rem = false; rem = false;
} }
} }
...@@ -305,17 +290,17 @@ bool ObjectRepositoryFactory::removeSection(const string& fullName, bool recursi ...@@ -305,17 +290,17 @@ bool ObjectRepositoryFactory::removeSection(const string& fullName, bool recursi
} }
catch(const CosNaming::NamingContext::NotEmpty &ne) catch(const CosNaming::NamingContext::NotEmpty &ne)
{ {
ulog.repository() << "ORepFactory: контекст" << fullName << " не пустой " << endl; ulogrep << "ORepFactory: контекст" << fullName << " не пустой " << endl;
rem = false; rem = false;
} }
catch( ORepFailed ) catch( ORepFailed )
{ {
ulog.repository() << "ORepFactory: не удаось получить ссылку на контекст " << in_sec << endl; ulogrep << "ORepFactory: не удаось получить ссылку на контекст " << in_sec << endl;
rem=false; rem=false;
} }
} }
bi->destroy(); // ?? bi->destroy(); // ??
return rem; return rem;
} }
...@@ -335,9 +320,7 @@ bool ObjectRepositoryFactory::renameSection( const string& newFName, const strin ...@@ -335,9 +320,7 @@ bool ObjectRepositoryFactory::renameSection( const string& newFName, const strin
string in_sec(ORepHelpers::getSectionName(newFName)); string in_sec(ORepHelpers::getSectionName(newFName));
try try
{ {
// ulog.repository() << "ORepFactory: в контексте "<< in_sec << endl;
// ulog.repository() << "ORepFactory: переименовываем " << oldFName << " в " << newFName << endl;
int argc(uconf->getArgc()); int argc(uconf->getArgc());
const char * const* argv(uconf->getArgv()); const char * const* argv(uconf->getArgv());
CosNaming::NamingContext_var in_ctx = ORepHelpers::getContext(in_sec, argc, argv, nsName); CosNaming::NamingContext_var in_ctx = ORepHelpers::getContext(in_sec, argc, argv, nsName);
......
...@@ -21,13 +21,13 @@ ...@@ -21,13 +21,13 @@
* \author Pavel Vainerman * \author Pavel Vainerman
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#include <iomanip>
#include "ProxyManager.h" #include "ProxyManager.h"
#include "PassiveObject.h" #include "PassiveObject.h"
#include "ORepHelpers.h" #include "ORepHelpers.h"
#include "Configuration.h" #include "Configuration.h"
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
using namespace std;
using namespace UniSetTypes; using namespace UniSetTypes;
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
PassiveObject::PassiveObject(): PassiveObject::PassiveObject():
...@@ -117,14 +117,12 @@ void PassiveObject::processingMessage( UniSetTypes::VoidMessage* msg ) ...@@ -117,14 +117,12 @@ void PassiveObject::processingMessage( UniSetTypes::VoidMessage* msg )
} }
default: default:
//ulog.warn() << myname << ": неизвестное сообщение " << msg->type << endl;
break; break;
} }
} }
catch(Exception& ex) catch( Exception& ex )
{ {
// ulog.warn() uwarn << myname << "(processingMessage): " << ex << endl;
// cerr << myname << "(processingMessage): " << ex << endl;
} }
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
...@@ -135,8 +133,8 @@ void PassiveObject::sysCommand( SystemMessage *sm ) ...@@ -135,8 +133,8 @@ void PassiveObject::sysCommand( SystemMessage *sm )
case SystemMessage::StartUp: case SystemMessage::StartUp:
askSensors(UniversalIO::UIONotify); askSensors(UniversalIO::UIONotify);
break; break;
case SystemMessage::FoldUp: case SystemMessage::FoldUp:
case SystemMessage::Finish: case SystemMessage::Finish:
askSensors(UniversalIO::UIODontNotify); askSensors(UniversalIO::UIODontNotify);
break; break;
......
...@@ -48,12 +48,12 @@ void ProxyManager::attachObject( PassiveObject* po, UniSetTypes::ObjectId id ) ...@@ -48,12 +48,12 @@ void ProxyManager::attachObject( PassiveObject* po, UniSetTypes::ObjectId id )
{ {
if( id == DefaultObjectId ) if( id == DefaultObjectId )
{ {
ulog.warn() << myname << "(attachObject): попытка добавить объект с id=" uwarn << myname << "(attachObject): попытка добавить объект с id="
<< DefaultObjectId << " PassiveObject=" << po->getName() << endl; << DefaultObjectId << " PassiveObject=" << po->getName() << endl;
return; return;
} }
PObjectMap::iterator it = omap.find(id); PObjectMap::iterator it = omap.find(id);
if( it==omap.end() ) if( it==omap.end() )
omap.insert(PObjectMap::value_type(id,po)); omap.insert(PObjectMap::value_type(id,po));
...@@ -81,36 +81,31 @@ bool ProxyManager::activateObject() ...@@ -81,36 +81,31 @@ bool ProxyManager::activateObject()
{ {
try try
{ {
if( ulog.is_info() ) uinfo << myname << "(registered): попытка "
{ << i+1 << " регистриую (id=" << it->first << ") "
ulog.info() << myname << "(registered): попытка " << " (pname=" << it->second->getName() << ") "
<< i+1 << " регистриую (id=" << it->first << ") " << conf->oind->getNameById(it->first) << endl;
<< " (pname=" << it->second->getName() << ") "
<< conf->oind->getNameById(it->first) << endl;
}
ui.registered(it->first, getRef(),true); ui.registered(it->first, getRef(),true);
break; break;
} }
catch( UniSetTypes::ObjectNameAlready& ex ) catch( UniSetTypes::ObjectNameAlready& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(registered): СПЕРВА РАЗРЕГИСТРИРУЮ (ObjectNameAlready)" << endl;
ulog.crit() << myname << "(registered): СПЕРВА РАЗРЕГИСТРИРУЮ (ObjectNameAlready)" << endl;
try try
{ {
ui.unregister(it->first); ui.unregister(it->first);
} }
catch(Exception & ex) catch(Exception & ex)
{ {
if( ulog.is_crit() ) ucrit << myname << "(unregistered): " << ex << endl;
ulog.crit() << myname << "(unregistered): " << ex << endl;
} }
} }
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(activate): " << ex << endl;
ulog.crit() << myname << "(activate): " << ex << endl;
} }
} }
...@@ -127,11 +122,10 @@ bool ProxyManager::disactivateObject() ...@@ -127,11 +122,10 @@ bool ProxyManager::disactivateObject()
} }
catch(Exception& ex ) catch(Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(activate): " << ex << endl;
ulog.crit() << myname << "(activate): " << ex << endl;
} }
} }
return UniSetObject::disactivateObject(); return UniSetObject::disactivateObject();
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
...@@ -144,25 +138,22 @@ void ProxyManager::processingMessage( UniSetTypes::VoidMessage *msg ) ...@@ -144,25 +138,22 @@ void ProxyManager::processingMessage( UniSetTypes::VoidMessage *msg )
case Message::SysCommand: case Message::SysCommand:
allMessage(msg); allMessage(msg);
break; break;
default: default:
{ {
PObjectMap::iterator it = omap.find(msg->consumer); PObjectMap::iterator it = omap.find(msg->consumer);
if( it!=omap.end() ) if( it!=omap.end() )
it->second->processingMessage(msg); it->second->processingMessage(msg);
else if( ulog.is_crit() ) else
{ ucrit << myname << "(processingMessage): не найден объект "
ulog.crit() << myname << "(processingMessage): не найден объект "
<< " consumer= " << msg->consumer << endl; << " consumer= " << msg->consumer << endl;
}
} }
break; break;
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(processingMessage): " << ex << endl;
ulog.crit() << myname << "(processingMessage): " << ex << endl;
} }
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
...@@ -175,9 +166,8 @@ void ProxyManager::allMessage( UniSetTypes::VoidMessage* msg ) ...@@ -175,9 +166,8 @@ void ProxyManager::allMessage( UniSetTypes::VoidMessage* msg )
it->second->processingMessage(msg); it->second->processingMessage(msg);
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(allMessage): " << ex << endl;
ulog.crit() << myname << "(allMessage): " << ex << endl;
} }
} }
} }
......
...@@ -105,7 +105,7 @@ void UniSetActivator::init() ...@@ -105,7 +105,7 @@ void UniSetActivator::init()
poa = root_poa->create_POA("my poa", pman, pl); poa = root_poa->create_POA("my poa", pman, pl);
if( CORBA::is_nil(poa) ) if( CORBA::is_nil(poa) )
ulog.crit() << myname << "(init): init poa failed!!!" << endl; ucrit << myname << "(init): init poa failed!!!" << endl;
gActivator=this; gActivator=this;
atexit( UniSetActivator::normalexit ); atexit( UniSetActivator::normalexit );
...@@ -118,7 +118,7 @@ UniSetActivator::~UniSetActivator() ...@@ -118,7 +118,7 @@ UniSetActivator::~UniSetActivator()
{ {
if(!procterm ) if(!procterm )
{ {
ulog.system() << myname << "(destructor): ..."<< endl << flush; ulogsys << myname << "(destructor): ..."<< endl << flush;
if( !omDestroy ) if( !omDestroy )
oaDestroy(); oaDestroy();
...@@ -139,11 +139,11 @@ void UniSetActivator::oaDestroy(int signo) ...@@ -139,11 +139,11 @@ void UniSetActivator::oaDestroy(int signo)
if( !omDestroy ) if( !omDestroy )
{ {
omDestroy = true; omDestroy = true;
ulog.system() << myname << "(oaDestroy): begin..."<< endl; ulogsys << myname << "(oaDestroy): begin..."<< endl;
ulog.system() << myname << "(oaDestroy): terminate... " << endl; ulogsys << myname << "(oaDestroy): terminate... " << endl;
term(signo); term(signo);
ulog.system() << myname << "(oaDestroy): terminate ok. " << endl; ulogsys << myname << "(oaDestroy): terminate ok. " << endl;
try try
{ {
...@@ -151,19 +151,18 @@ void UniSetActivator::oaDestroy(int signo) ...@@ -151,19 +151,18 @@ void UniSetActivator::oaDestroy(int signo)
} }
catch(...){} catch(...){}
ulog.system() << myname << "(oaDestroy): pman deactivate... " << endl; ulogsys << myname << "(oaDestroy): pman deactivate... " << endl;
pman->deactivate(false,true); pman->deactivate(false,true);
ulog.system() << myname << "(oaDestroy): pman deactivate ok. " << endl; ulogsys << myname << "(oaDestroy): pman deactivate ok. " << endl;
ulog.system() << myname << "(oaDestroy): orb destroy... " << endl; ulogsys << myname << "(oaDestroy): orb destroy... " << endl;
try try
{ {
orb->destroy(); orb->destroy();
} }
catch(...){} catch(...){}
if( ulog.is_system() ) ulogsys << myname << "(oaDestroy): orb destroy ok."<< endl;
ulog.system() << myname << "(oaDestroy): orb destroy ok."<< endl;
if( orbthr ) if( orbthr )
{ {
...@@ -186,40 +185,37 @@ void UniSetActivator::oaDestroy(int signo) ...@@ -186,40 +185,37 @@ void UniSetActivator::oaDestroy(int signo)
*/ */
void UniSetActivator::run(bool thread) void UniSetActivator::run(bool thread)
{ {
if( ulog.is_system() ) ulogsys << myname << "(run): создаю менеджер "<< endl;
ulog.system() << myname << "(run): создаю менеджер "<< endl;
UniSetManager::initPOA(this); UniSetManager::initPOA(this);
if( getId() == UniSetTypes::DefaultObjectId ) if( getId() == UniSetTypes::DefaultObjectId )
offThread(); // отключение потока обработки сообщений, раз не задан ObjectId offThread(); // отключение потока обработки сообщений, раз не задан ObjectId
UniSetManager::activate(); // а там вызывается активация всех подчиненных объектов и менеджеров UniSetManager::activate(); // а там вызывается активация всех подчиненных объектов и менеджеров
getinfo(); // заполнение информации об объектах getinfo(); // заполнение информации об объектах
active=true; active=true;
ulog.system() << myname << "(run): активизируем менеджер"<<endl; ulogsys << myname << "(run): активизируем менеджер"<<endl;
pman->activate(); pman->activate();
msleep(50); msleep(50);
set_signals(true); set_signals(true);
if( thread ) if( thread )
{ {
if( ulog.is_info() ) uinfo << myname << "(run): запускаемся с созданием отдельного потока... "<< endl;
ulog.info() << myname << "(run): запускаемся с созданием отдельного потока... "<< endl;
orbthr = new ThreadCreator<UniSetActivator>(this, &UniSetActivator::work); orbthr = new ThreadCreator<UniSetActivator>(this, &UniSetActivator::work);
int ret = orbthr->start(); int ret = orbthr->start();
if( ret !=0 ) if( ret !=0 )
{ {
ulog.crit() << myname << "(run): НЕ СМОГЛИ СОЗДАТЬ ORB-поток"<<endl; ucrit << myname << "(run): НЕ СМОГЛИ СОЗДАТЬ ORB-поток"<<endl;
throw SystemError("(UniSetActivator::run): CREATE ORB THREAD FAILED"); throw SystemError("(UniSetActivator::run): CREATE ORB THREAD FAILED");
} }
} }
else else
{ {
if( ulog.is_info() ) uinfo << myname << "(run): запускаемся без создания отдельного потока... "<< endl;
ulog.info() << myname << "(run): запускаемся без создания отдельного потока... "<< endl;
work(); work();
} }
} }
...@@ -233,35 +229,28 @@ void UniSetActivator::stop() ...@@ -233,35 +229,28 @@ void UniSetActivator::stop()
// uniset_mutex_lock l(disactivateMutex, 500); // uniset_mutex_lock l(disactivateMutex, 500);
if( active ) if( active )
{ {
active=false; active=false;
if( ulog.is_system() ) ulogsys << myname << "(stop): disactivate... "<< endl;
ulog.system() << myname << "(stop): disactivate... "<< endl;
disactivate(); disactivate();
if( ulog.is_system() ) ulogsys << myname << "(stop): disactivate ok. "<<endl;
{ ulogsys << myname << "(stop): discard request..."<< endl;
ulog.system() << myname << "(stop): disactivate ok. "<<endl;
ulog.system() << myname << "(stop): discard request..."<< endl;
}
pman->discard_requests(true); pman->discard_requests(true);
if( ulog.is_system() ) ulogsys << myname << "(stop): discard request ok."<< endl;
ulog.system() << myname << "(stop): discard request ok."<< endl;
/* /*
try try
{ {
if( ulog.is_system() ) ulogsys << myname << "(stop):: shutdown orb... "<<endl;
ulog.system() << myname << "(stop):: shutdown orb... "<<endl;
orb->shutdown(false); orb->shutdown(false);
} }
catch(...){} catch(...){}
if( ulog.is_system() ) ulogsys << myname << "(stop): shutdown ok."<< endl;
ulog.system() << myname << "(stop): shutdown ok."<< endl;
*/ */
} }
} }
...@@ -270,8 +259,7 @@ void UniSetActivator::stop() ...@@ -270,8 +259,7 @@ void UniSetActivator::stop()
void UniSetActivator::work() void UniSetActivator::work()
{ {
if( ulog.is_system() ) ulogsys << myname << "(work): запускаем orb на обработку запросов..."<< endl;
ulog.system() << myname << "(work): запускаем orb на обработку запросов..."<< endl;
try try
{ {
if(orbthr) if(orbthr)
...@@ -283,42 +271,35 @@ void UniSetActivator::work() ...@@ -283,42 +271,35 @@ void UniSetActivator::work()
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( ulog.is_crit() ) ucrit << myname << "(work): поймали CORBA::SystemException: " << ex.NP_minorString() << endl;
ulog.crit() << myname << "(work): поймали CORBA::SystemException: " << ex.NP_minorString() << endl;
} }
catch(CORBA::Exception& ex) catch(CORBA::Exception& ex)
{ {
if( ulog.is_crit() ) ucrit << myname << "(work): поймали CORBA::Exception." << endl;
ulog.crit() << myname << "(work): поймали CORBA::Exception." << endl;
} }
catch(omniORB::fatalException& fe) catch(omniORB::fatalException& fe)
{ {
if( ulog.is_crit() ) ucrit << myname << "(work): : поймали omniORB::fatalException:" << endl;
{ ucrit << myname << "(work): file: " << fe.file() << endl;
ulog.crit() << myname << "(work): : поймали omniORB::fatalException:" << endl; ucrit << myname << "(work): line: " << fe.line() << endl;
ulog.crit() << myname << "(work): file: " << fe.file() << endl; ucrit << myname << "(work): mesg: " << fe.errmsg() << endl;
ulog.crit() << myname << "(work): line: " << fe.line() << endl;
ulog.crit() << myname << "(work): mesg: " << fe.errmsg() << endl;
}
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit << myname << "(work): catch ..." << endl;
ulog.crit() << myname << "(work): catch ..." << endl;
} }
if( ulog.is_system() ) ulogsys << myname << "(work): orb стоп!!!"<< endl;
ulog.system() << myname << "(work): orb стоп!!!"<< endl;
/* /*
ulog.system() << myname << "(oaDestroy): orb destroy... " << endl; ulogsys << myname << "(oaDestroy): orb destroy... " << endl;
try try
{ {
orb->destroy(); orb->destroy();
} }
catch(...){} catch(...){}
ulog.system() << myname << "(oaDestroy): orb destroy ok."<< endl; ulogsys << myname << "(oaDestroy): orb destroy ok."<< endl;
*/ */
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetActivator::getinfo() void UniSetActivator::getinfo()
...@@ -361,8 +342,7 @@ void UniSetActivator::processingMessage( UniSetTypes::VoidMessage *msg ) ...@@ -361,8 +342,7 @@ void UniSetActivator::processingMessage( UniSetTypes::VoidMessage *msg )
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_crit() ) ucrit << myname << "(processingMessage): " << ex << endl;
ulog.crit() << myname << "(processingMessage): " << ex << endl;
} }
} }
...@@ -373,8 +353,7 @@ void UniSetActivator::sysCommand( UniSetTypes::SystemMessage *sm ) ...@@ -373,8 +353,7 @@ void UniSetActivator::sysCommand( UniSetTypes::SystemMessage *sm )
{ {
case SystemMessage::LogRotate: case SystemMessage::LogRotate:
{ {
if( ulog.is_system() ) ulogsys << myname << "(sysCommand): logRotate" << endl;
ulog.system() << myname << "(sysCommand): logRotate" << endl;
// переоткрываем логи // переоткрываем логи
string fname = ulog.getLogFile(); string fname = ulog.getLogFile();
if( !fname.empty() ) if( !fname.empty() )
...@@ -391,7 +370,7 @@ void UniSetActivator::sysCommand( UniSetTypes::SystemMessage *sm ) ...@@ -391,7 +370,7 @@ void UniSetActivator::sysCommand( UniSetTypes::SystemMessage *sm )
/* /*
void UniSetActivator::sig_child(int signo) void UniSetActivator::sig_child(int signo)
{ {
ulog.system() << gActivator->getName() << "(sig_child): дочерний процесс закончил работу...(sig=" << signo << ")" << endl; ulogsys << gActivator->getName() << "(sig_child): дочерний процесс закончил работу...(sig=" << signo << ")" << endl;
while( waitpid(-1, 0, WNOHANG) > 0); while( waitpid(-1, 0, WNOHANG) > 0);
} }
*/ */
...@@ -434,13 +413,12 @@ void UniSetActivator::finishterm( int signo ) ...@@ -434,13 +413,12 @@ void UniSetActivator::finishterm( int signo )
{ {
if( !doneterm ) if( !doneterm )
{ {
if( ulog.is_system() && gActivator ) ulogsys << ( gActivator ? gActivator->getName() : "" )
ulog.system() << gActivator->getName()
<< "(finishterm): прерываем процесс завершения...!" << endl<< flush; << "(finishterm): прерываем процесс завершения...!" << endl<< flush;
if( gActivator ) if( gActivator )
gActivator->set_signals(false); gActivator->set_signals(false);
sigset(SIGALRM, SIG_DFL); sigset(SIGALRM, SIG_DFL);
doneterm = 1; doneterm = 1;
raise(SIGKILL); raise(SIGKILL);
...@@ -458,25 +436,25 @@ void UniSetActivator::terminated( int signo ) ...@@ -458,25 +436,25 @@ void UniSetActivator::terminated( int signo )
uniset_rwmutex_wrlock l(signalMutex); //, TERMINATE_TIMEOUT*1000); uniset_rwmutex_wrlock l(signalMutex); //, TERMINATE_TIMEOUT*1000);
if( !procterm ) if( !procterm )
{ {
procterm = 1; procterm = 1;
SIGNO = signo; SIGNO = signo;
MYPID = getpid(); MYPID = getpid();
if( ulog.is_system() && gActivator ) ulogsys << ( gActivator ? gActivator->getName() : "" ) << "(terminated): catch SIGNO="<< signo << "("
{ << strsignal(signo) <<")"<< endl << flush
ulog.system() << gActivator->getName() << "(terminated): catch SIGNO="<< signo << "("<< strsignal(signo) <<")"<< endl << flush; << ( gActivator ? gActivator->getName() : "" ) << "(terminated): устанавливаем timer завершения на "
ulog.system() << gActivator->getName() << "(terminated): устанавливаем timer завершения на " << TERMINATE_TIMEOUT << " сек " << endl << flush;
<< TERMINATE_TIMEOUT << " сек " << endl << flush;
}
sighold(SIGALRM); sighold(SIGALRM);
sigset(SIGALRM, UniSetActivator::finishterm); sigset(SIGALRM, UniSetActivator::finishterm);
alarm(TERMINATE_TIMEOUT); alarm(TERMINATE_TIMEOUT);
sigrelse(SIGALRM); sigrelse(SIGALRM);
if( gActivator ) if( gActivator )
gActivator->oaDestroy(SIGNO); // gActivator->term(SIGNO); gActivator->oaDestroy(SIGNO); // gActivator->term(SIGNO);
doneterm = 1; doneterm = 1;
if( ulog.is_system() )
ulog.system() << gActivator->getName() << "(terminated): завершаемся..."<< endl<< flush; ulogsys << ( gActivator ? gActivator->getName() : "" ) << "(terminated): завершаемся..."<< endl<< flush;
if( gActivator ) if( gActivator )
UniSetActivator::set_signals(false); UniSetActivator::set_signals(false);
...@@ -489,45 +467,41 @@ void UniSetActivator::terminated( int signo ) ...@@ -489,45 +467,41 @@ void UniSetActivator::terminated( int signo )
void UniSetActivator::normalexit() void UniSetActivator::normalexit()
{ {
if( gActivator && ulog.is_system() ) if( gActivator )
ulog.system() << gActivator->getName() << "(default exit): good bye."<< endl << flush; ulogsys << gActivator->getName() << "(default exit): good bye."<< endl << flush;
} }
void UniSetActivator::normalterminate() void UniSetActivator::normalterminate()
{ {
if( gActivator ) if( gActivator )
ulog.crit() << gActivator->getName() << "(default exception terminate): Никто не выловил исключение!!! Good bye."<< endl<< flush; ucrit << gActivator->getName() << "(default exception terminate): Никто не выловил исключение!!! Good bye."<< endl<< flush;
// abort(); // abort();
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetActivator::term( int signo ) void UniSetActivator::term( int signo )
{ {
if( ulog.is_system() ) ulogsys << myname << "(term): TERM" << endl;
ulog.system() << myname << "(term): TERM" << endl;
if( doneterm ) if( doneterm )
return; return;
if( signo ) if( signo )
sig = true; sig = true;
try try
{ {
if( ulog.is_system() ) ulogsys << myname << "(term): вызываем sigterm()" << endl;
ulog.system() << myname << "(term): вызываем sigterm()" << endl;
sigterm(signo); sigterm(signo);
if( ulog.is_system() ) ulogsys << myname << "(term): sigterm() ok." << endl;
ulog.system() << myname << "(term): sigterm() ok." << endl;
} }
catch(Exception& ex) catch(Exception& ex)
{ {
ulog.crit() << myname << "(term): " << ex << endl; ucrit << myname << "(term): " << ex << endl;
} }
catch(...){} catch(...){}
if( ulog.is_system() ) ulogsys << myname << "(term): END TERM" << endl;
ulog.system() << myname << "(term): END TERM" << endl;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetActivator::waitDestroy() void UniSetActivator::waitDestroy()
......
...@@ -137,12 +137,12 @@ void UniSetManager::initPOA( UniSetManager* rmngr ) ...@@ -137,12 +137,12 @@ void UniSetManager::initPOA( UniSetManager* rmngr )
poa = rmngr->getPOA(); poa = rmngr->getPOA();
if( CORBA::is_nil(poa) ) if( CORBA::is_nil(poa) )
ulog.crit() << myname << "(initPOA): failed init poa " << endl; ucrit << myname << "(initPOA): failed init poa " << endl;
// Инициализация самого менеджера и его подобъектов // Инициализация самого менеджера и его подобъектов
UniSetObject::init(rmngr); UniSetObject::init(rmngr);
objects(initial); objects(initial);
managers(initial); managers(initial);
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
bool UniSetManager::addObject( UniSetObject *obj ) bool UniSetManager::addObject( UniSetObject *obj )
...@@ -152,9 +152,8 @@ bool UniSetManager::addObject( UniSetObject *obj ) ...@@ -152,9 +152,8 @@ bool UniSetManager::addObject( UniSetObject *obj )
ObjectsList::iterator li=find(olist.begin(),olist.end(), obj); ObjectsList::iterator li=find(olist.begin(),olist.end(), obj);
if( li==olist.end() ) if( li==olist.end() )
{ {
if( ulog.is_info() ) uinfo << myname << "(activator): добавляем объект "<< obj->getName()<< endl;
ulog.info() << myname << "(activator): добавляем объект "<< obj->getName()<< endl; olist.push_back(obj);
olist.push_back(obj);
} }
} // unlock } // unlock
return true; return true;
...@@ -168,37 +167,36 @@ bool UniSetManager::removeObject(UniSetObject* obj) ...@@ -168,37 +167,36 @@ bool UniSetManager::removeObject(UniSetObject* obj)
ObjectsList::iterator li=find(olist.begin(),olist.end(), obj); ObjectsList::iterator li=find(olist.begin(),olist.end(), obj);
if( li!=olist.end() ) if( li!=olist.end() )
{ {
if( ulog.is_info() ) uinfo << myname << "(activator): удаляем объект "<< obj->getName()<< endl;
ulog.info() << myname << "(activator): удаляем объект "<< obj->getName()<< endl;
try try
{ {
obj->disactivate(); obj->disactivate();
} }
catch(Exception& ex) catch(Exception& ex)
{ {
ulog.warn() << myname << "(removeObject): " << ex << endl; uwarn << myname << "(removeObject): " << ex << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
ulog.warn() << myname << "(removeObject): поймали CORBA::SystemException: " << ex.NP_minorString() << endl; uwarn << myname << "(removeObject): поймали CORBA::SystemException: " << ex.NP_minorString() << endl;
} }
catch(CORBA::Exception& ex) catch(CORBA::Exception& ex)
{ {
ulog.warn() << myname << "(removeObject): CORBA::Exception" << endl; uwarn << myname << "(removeObject): CORBA::Exception" << endl;
} }
catch( omniORB::fatalException& fe ) catch( omniORB::fatalException& fe )
{ {
ulog.crit() << myname << "(managers): Caught omniORB::fatalException:" << endl; ucrit << myname << "(managers): Caught omniORB::fatalException:" << endl;
ulog.crit() << myname << "(managers): file: " << fe.file() ucrit << myname << "(managers): file: " << fe.file()
<< " line: " << fe.line() << " line: " << fe.line()
<< " mesg: " << fe.errmsg() << endl; << " mesg: " << fe.errmsg() << endl;
} }
catch(...){} catch(...){}
olist.erase(li); olist.erase(li);
} }
} // unlock } // unlock
return true; return true;
} }
...@@ -208,8 +206,7 @@ bool UniSetManager::removeObject(UniSetObject* obj) ...@@ -208,8 +206,7 @@ bool UniSetManager::removeObject(UniSetObject* obj)
*/ */
void UniSetManager::managers(OManagerCommand cmd) void UniSetManager::managers(OManagerCommand cmd)
{ {
if( ulog.is_info() ) uinfo << myname <<"(managers): mlist.size="
ulog.info() << myname <<"(managers): mlist.size="
<< mlist.size() << " cmd=" << cmd << endl; << mlist.size() << " cmd=" << cmd << endl;
{ //lock { //lock
uniset_rwmutex_rlock lock(mlistMutex); uniset_rwmutex_rlock lock(mlistMutex);
...@@ -241,32 +238,24 @@ void UniSetManager::managers(OManagerCommand cmd) ...@@ -241,32 +238,24 @@ void UniSetManager::managers(OManagerCommand cmd)
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(managers): " << ex << endl
{ << " Не смог зарегистрировать (разрегистрировать) объект -->"<< (*li)->getName() << endl;
ulog.crit() << myname << "(managers): " << ex << endl;
ulog.crit() << myname << "(managers): не смог зарегистрировать (разрегистрировать) объект -->"<< (*li)->getName() << endl;
}
} }
catch(CORBA::SystemException& ex) catch( CORBA::SystemException& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(managers): поймали CORBA::SystemException:" << ex.NP_minorString() << endl;
ulog.crit() << myname << "(managers): поймали CORBA::SystemException:" << ex.NP_minorString() << endl;
} }
catch( CORBA::Exception& ex ) catch( CORBA::Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(managers): Caught CORBA::Exception. " << ex._name() << endl;
ulog.crit() << myname << "(managers): Caught CORBA::Exception. " << ex._name() << endl;
} }
catch( omniORB::fatalException& fe ) catch( omniORB::fatalException& fe )
{ {
if( ulog.is_crit() ) ucrit << myname << "(managers): Caught omniORB::fatalException:" << endl;
{ ucrit << myname << "(managers): file: " << fe.file()
ulog.crit() << myname << "(managers): Caught omniORB::fatalException:" << endl; << " line: " << fe.line()
ulog.crit() << myname << "(managers): file: " << fe.file() << " mesg: " << fe.errmsg() << endl;
<< " line: " << fe.line() }
<< " mesg: " << fe.errmsg() << endl;
}
}
} }
} // unlock } // unlock
} }
...@@ -276,8 +265,7 @@ void UniSetManager::managers(OManagerCommand cmd) ...@@ -276,8 +265,7 @@ void UniSetManager::managers(OManagerCommand cmd)
*/ */
void UniSetManager::objects(OManagerCommand cmd) void UniSetManager::objects(OManagerCommand cmd)
{ {
if( ulog.is_info() ) uinfo << myname <<"(objects): olist.size="
ulog.info() << myname <<"(objects): olist.size="
<< olist.size() << " cmd=" << cmd << endl; << olist.size() << " cmd=" << cmd << endl;
{ //lock { //lock
uniset_rwmutex_rlock lock(olistMutex); uniset_rwmutex_rlock lock(olistMutex);
...@@ -303,41 +291,33 @@ void UniSetManager::objects(OManagerCommand cmd) ...@@ -303,41 +291,33 @@ void UniSetManager::objects(OManagerCommand cmd)
case term: case term:
(*li)->sigterm(sig); (*li)->sigterm(sig);
break; break;
default: default:
break; break;
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(objects): " << ex << endl;
{ ucrit << myname << "(objects): не смог зарегистрировать (разрегистрировать) объект -->"<< (*li)->getName() << endl;
ulog.crit() << myname << "(objects): " << ex << endl;
ulog.crit() << myname << "(objects): не смог зарегистрировать (разрегистрировать) объект -->"<< (*li)->getName() << endl;
}
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
if( ulog.is_crit() ) ucrit << myname << "(objects): поймали CORBA::SystemException:" << ex.NP_minorString() << endl;
ulog.crit() << myname << "(objects): поймали CORBA::SystemException:" << ex.NP_minorString() << endl;
} }
catch( CORBA::Exception& ex ) catch( CORBA::Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(objects): Caught CORBA::Exception. "
ulog.crit() << myname << "(objects): Caught CORBA::Exception. " << ex._name()
<< ex._name() << " (" << (*li)->getName() << ")" << endl;
<< " (" << (*li)->getName() << ")" << endl;
} }
catch( omniORB::fatalException& fe ) catch( omniORB::fatalException& fe )
{ {
if( ulog.is_crit() ) ucrit << myname << "(objects): Caught omniORB::fatalException:" << endl;
{ ucrit << myname << "(objects): file: " << fe.file()
ulog.crit() << myname << "(objects): Caught omniORB::fatalException:" << endl; << " line: " << fe.line()
ulog.crit() << myname << "(objects): file: " << fe.file() << " mesg: " << fe.errmsg() << endl;
<< " line: " << fe.line() }
<< " mesg: " << fe.errmsg() << endl;
}
}
} }
} // unlock } // unlock
} }
...@@ -348,8 +328,7 @@ void UniSetManager::objects(OManagerCommand cmd) ...@@ -348,8 +328,7 @@ void UniSetManager::objects(OManagerCommand cmd)
*/ */
bool UniSetManager::activateObject() bool UniSetManager::activateObject()
{ {
if( ulog.is_info() ) uinfo << myname << "(activateObjects): активизирую объекты"<< endl;
ulog.info() << myname << "(activateObjects): активизирую объекты"<< endl;
UniSetObject::activateObject(); UniSetObject::activateObject();
managers(activ); managers(activ);
objects(activ); objects(activ);
...@@ -362,8 +341,7 @@ bool UniSetManager::activateObject() ...@@ -362,8 +341,7 @@ bool UniSetManager::activateObject()
*/ */
bool UniSetManager::disactivateObject() bool UniSetManager::disactivateObject()
{ {
if( ulog.is_info() ) uinfo << myname << "(disactivateObjects): деактивизирую объекты"<< endl;
ulog.info() << myname << "(disactivateObjects): деактивизирую объекты"<< endl;
// именно в такой последовательности! // именно в такой последовательности!
objects(deactiv); objects(deactiv);
managers(deactiv); managers(deactiv);
...@@ -372,7 +350,6 @@ bool UniSetManager::disactivateObject() ...@@ -372,7 +350,6 @@ bool UniSetManager::disactivateObject()
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetManager::sigterm( int signo ) void UniSetManager::sigterm( int signo )
{ {
// ulog.info() << "UniSetActivator: default processing signo="<< signo << endl;
sig=signo; sig=signo;
objects(term); objects(term);
managers(term); managers(term);
...@@ -409,13 +386,12 @@ bool UniSetManager::addManager( UniSetManager *child ) ...@@ -409,13 +386,12 @@ bool UniSetManager::addManager( UniSetManager *child )
if(it == mlist.end() ) if(it == mlist.end() )
{ {
mlist.push_back( child ); mlist.push_back( child );
if( ulog.is_info() ) uinfo << myname << ": добавляем менеджер "<< child->getName()<< endl;
ulog.info() << myname << ": добавляем менеджер "<< child->getName()<< endl;
} }
else if( ulog.is_warn() ) else
ulog.warn() << myname << ": попытка повторного добавления объекта "<< child->getName() << endl; uwarn << myname << ": попытка повторного добавления объекта "<< child->getName() << endl;
} // unlock } // unlock
return true; return true;
} }
...@@ -499,19 +475,19 @@ int UniSetManager::getObjectsInfo( UniSetManager* mngr, SimpleInfoSeq* seq, ...@@ -499,19 +475,19 @@ int UniSetManager::getObjectsInfo( UniSetManager* mngr, SimpleInfoSeq* seq,
{ {
SimpleInfo_var si=(*it)->getInfo(); SimpleInfo_var si=(*it)->getInfo();
(*seq)[ind] = si; (*seq)[ind] = si;
ind++; ind++;
if( ind>uplimit ) if( ind>uplimit )
break; break;
} }
catch(CORBA::Exception& ex) catch(CORBA::Exception& ex)
{ {
ulog.warn() << myname << "(getObjectsInfo): CORBA::Exception" << endl; uwarn << myname << "(getObjectsInfo): CORBA::Exception" << endl;
} }
catch(...) catch(...)
{ {
ulog.warn() << myname << "(getObjectsInfo): не смог получить у объекта " uwarn << myname << "(getObjectsInfo): не смог получить у объекта "
<< conf->oind->getNameById( (*it)->getId() ) << " информацию" << endl; << conf->oind->getNameById( (*it)->getId() ) << " информацию" << endl;
} }
} }
if( ind > uplimit ) if( ind > uplimit )
......
...@@ -59,9 +59,9 @@ void UniSetManager_LT::callback() ...@@ -59,9 +59,9 @@ void UniSetManager_LT::callback()
sleepTime=lt.checkTimers(this); sleepTime=lt.checkTimers(this);
} }
catch(Exception& ex) catch( Exception& ex )
{ {
ulog.crit() << myname << "(callback): " << ex << endl; ucrit << myname << "(callback): " << ex << endl;
} }
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
......
...@@ -123,7 +123,7 @@ stCountOfQueueFull(0) ...@@ -123,7 +123,7 @@ stCountOfQueueFull(0)
myid = ui.getIdByName(myname); myid = ui.getIdByName(myname);
if( myid == DefaultObjectId ) if( myid == DefaultObjectId )
{ {
ulog.warn() << "name: my ID not found!" << endl; uwarn << "name: my ID not found!" << endl;
throw Exception(name+": my ID not found!"); throw Exception(name+": my ID not found!");
} }
...@@ -150,19 +150,15 @@ void UniSetObject::init_object() ...@@ -150,19 +150,15 @@ void UniSetObject::init_object()
mutex_act.setName(myname + "_mutex_act"); mutex_act.setName(myname + "_mutex_act");
SizeOfMessageQueue = conf->getArgPInt("--uniset-object-size-message-queue",conf->getField("SizeOfMessageQueue"), 1000); SizeOfMessageQueue = conf->getArgPInt("--uniset-object-size-message-queue",conf->getField("SizeOfMessageQueue"), 1000);
MaxCountRemoveOfMessage = conf->getArgInt("--uniset-object-maxcount-remove-message",conf->getField("MaxCountRemoveOfMessage")); MaxCountRemoveOfMessage = conf->getArgInt("--uniset-object-maxcount-remove-message",conf->getField("MaxCountRemoveOfMessage"));
if( MaxCountRemoveOfMessage <= 0 ) if( MaxCountRemoveOfMessage <= 0 )
MaxCountRemoveOfMessage = SizeOfMessageQueue / 4; MaxCountRemoveOfMessage = SizeOfMessageQueue / 4;
if( MaxCountRemoveOfMessage <= 0 ) if( MaxCountRemoveOfMessage <= 0 )
MaxCountRemoveOfMessage = 10; MaxCountRemoveOfMessage = 10;
if( ulog.is_info() ) uinfo << myname << "(init): SizeOfMessageQueue=" << SizeOfMessageQueue
{ << " MaxCountRemoveOfMessage=" << MaxCountRemoveOfMessage
ulog.info() << myname << "(init): SizeOfMessageQueue=" << SizeOfMessageQueue << endl;
<< " MaxCountRemoveOfMessage=" << MaxCountRemoveOfMessage
<< endl;
}
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -172,11 +168,9 @@ void UniSetObject::init_object() ...@@ -172,11 +168,9 @@ void UniSetObject::init_object()
*/ */
bool UniSetObject::init( UniSetManager* om ) bool UniSetObject::init( UniSetManager* om )
{ {
if( ulog.is_info() ) uinfo << myname << ": init..." << endl;
ulog.info() << myname << ": init..." << endl;
this->mymngr = om; this->mymngr = om;
if( ulog.is_info() ) uinfo << myname << ": init ok..." << endl;
ulog.info() << myname << ": init ok..." << endl;
return true; return true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -201,14 +195,13 @@ bool UniSetObject::receiveMessage( VoidMessage& vm ) ...@@ -201,14 +195,13 @@ bool UniSetObject::receiveMessage( VoidMessage& vm )
{ {
{ // lock { // lock
uniset_rwmutex_wrlock mlk(qmutex); uniset_rwmutex_wrlock mlk(qmutex);
if( !queueMsg.empty() ) if( !queueMsg.empty() )
{ {
// контроль переполнения // контроль переполнения
if( queueMsg.size() > SizeOfMessageQueue ) if( queueMsg.size() > SizeOfMessageQueue )
{ {
if( ulog.is_crit() ) ucrit << myname <<"(receiveMessages): messages queue overflow!" << endl << flush;
ulog.crit() << myname <<"(receiveMessages): messages queue overflow!" << endl << flush;
cleanMsgQueue(queueMsg); cleanMsgQueue(queueMsg);
// обновляем статистику по переполнениям // обновляем статистику по переполнениям
stCountOfQueueFull++; stCountOfQueueFull++;
...@@ -217,19 +210,14 @@ bool UniSetObject::receiveMessage( VoidMessage& vm ) ...@@ -217,19 +210,14 @@ bool UniSetObject::receiveMessage( VoidMessage& vm )
if( !queueMsg.empty() ) if( !queueMsg.empty() )
{ {
// if( ulog.is_crit() )
// ulog.crit() << myname <<"(receiveMessages): get new msg.." << endl << flush;
vm = queueMsg.top(); // получили сообщение vm = queueMsg.top(); // получили сообщение
// Проверка на последовательное вынимание
// cout << myname << ": receive message....tm=" << vm.time << " msec=" << vm.time_msec << "\tprior="<< vm.priority << endl;
queueMsg.pop(); // удалили сообщение из очереди queueMsg.pop(); // удалили сообщение из очереди
return true; return true;
} }
} }
} // unlock queue } // unlock queue
return false; return false;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -327,19 +315,17 @@ bool UniSetObject::waitMessage(VoidMessage& vm, timeout_t timeMS) ...@@ -327,19 +315,17 @@ bool UniSetObject::waitMessage(VoidMessage& vm, timeout_t timeMS)
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetObject::registered() void UniSetObject::registered()
{ {
if( ulog.is_info() ) uinfo << myname << ": registration..." << endl;
ulog.info() << myname << ": registration..." << endl;
if( myid == UniSetTypes::DefaultObjectId ) if( myid == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_info() ) uinfo << myname << "(registered): myid=DefaultObjectId \n";
ulog.info() << myname << "(registered): myid=DefaultObjectId \n";
return; return;
} }
if( !mymngr ) if( !mymngr )
{ {
ulog.warn() << myname << "(registered): unknown my manager" << endl; uwarn << myname << "(registered): unknown my manager" << endl;
string err(myname+": unknown my manager"); string err(myname+": unknown my manager");
throw ORepFailed(err.c_str()); throw ORepFailed(err.c_str());
} }
...@@ -348,7 +334,7 @@ void UniSetObject::registered() ...@@ -348,7 +334,7 @@ void UniSetObject::registered()
UniSetTypes::uniset_rwmutex_rlock lock(refmutex); UniSetTypes::uniset_rwmutex_rlock lock(refmutex);
if( !oref ) if( !oref )
{ {
ulog.crit() << myname << "(registered): oref is NULL!..." << endl; ucrit << myname << "(registered): oref is NULL!..." << endl;
return; return;
} }
} }
...@@ -356,7 +342,7 @@ void UniSetObject::registered() ...@@ -356,7 +342,7 @@ void UniSetObject::registered()
try try
{ {
for( int i=0; i<2; i++ ) for( int i=0; i<2; i++ )
{ {
try try
{ {
ui.registered(myid, getRef(),true); ui.registered(myid, getRef(),true);
...@@ -375,11 +361,9 @@ void UniSetObject::registered() ...@@ -375,11 +361,9 @@ void UniSetObject::registered()
объект станет недоступен другим, а знать об этом не будет!!! объект станет недоступен другим, а знать об этом не будет!!!
*/ */
ulog.crit() << myname << "(registered): replace object (ObjectNameAlready)" << endl; ucrit << myname << "(registered): replace object (ObjectNameAlready)" << endl;
reg = true; reg = true;
unregister(); unregister();
// ulog.crit() << myname << "(registered): не смог зарегестрироваться в репозитории объектов (ObjectNameAlready)" << endl;
// throw al;
} }
} }
} }
...@@ -390,7 +374,7 @@ void UniSetObject::registered() ...@@ -390,7 +374,7 @@ void UniSetObject::registered()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
ulog.warn() << myname << "(registered): " << ex << endl; uwarn << myname << "(registered): " << ex << endl;
string err(myname+": don`t registration in object reposotory"); string err(myname+": don`t registration in object reposotory");
throw ORepFailed(err.c_str()); throw ORepFailed(err.c_str());
} }
...@@ -404,8 +388,7 @@ void UniSetObject::unregister() ...@@ -404,8 +388,7 @@ void UniSetObject::unregister()
if( myid == UniSetTypes::DefaultObjectId ) if( myid == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_info() ) uinfo << myname << "(unregister): myid=DefaultObjectId \n";
ulog.info() << myname << "(unregister): myid=DefaultObjectId \n";
reg = false; reg = false;
return; return;
} }
...@@ -414,7 +397,7 @@ void UniSetObject::unregister() ...@@ -414,7 +397,7 @@ void UniSetObject::unregister()
UniSetTypes::uniset_rwmutex_rlock lock(refmutex); UniSetTypes::uniset_rwmutex_rlock lock(refmutex);
if( !oref ) if( !oref )
{ {
ulog.warn() << myname << "(unregister): oref NULL!" << endl; uwarn << myname << "(unregister): oref NULL!" << endl;
reg = false; reg = false;
return; return;
} }
...@@ -423,19 +406,15 @@ void UniSetObject::unregister() ...@@ -423,19 +406,15 @@ void UniSetObject::unregister()
try try
{ {
if( ulog.is_info() ) uinfo << myname << ": unregister "<< endl;
ulog.info() << myname << ": unregister "<< endl;
ui.unregister(myid); ui.unregister(myid);
uinfo << myname << ": unregister ok. "<< endl;
if( ulog.is_info() )
ulog.info() << myname << ": unregister ok. "<< endl;
} }
catch(...) catch(...)
{ {
ulog.warn() << myname << ": don`t registration in object repository" << endl; uwarn << myname << ": don`t registration in object repository" << endl;
} }
reg = false; reg = false;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -463,21 +442,17 @@ void UniSetObject::push(const TransportMessage& tm) ...@@ -463,21 +442,17 @@ void UniSetObject::push(const TransportMessage& tm)
// контроль переполнения // контроль переполнения
if( !queueMsg.empty() && queueMsg.size()>SizeOfMessageQueue ) if( !queueMsg.empty() && queueMsg.size()>SizeOfMessageQueue )
{ {
if( ulog.is_crit() ) ucrit << myname <<"(push): message queue overflow!" << endl << flush;
ulog.crit() << myname <<"(push): message queue overflow!" << endl << flush;
cleanMsgQueue(queueMsg); cleanMsgQueue(queueMsg);
// обновляем статистику // обновляем статистику
stCountOfQueueFull++; stCountOfQueueFull++;
stMaxQueueMessages=0; stMaxQueueMessages=0;
} }
// if( ulog.is_crit() )
// ulog.crit() << myname <<"(push): push new msg.." << endl << flush;
VoidMessage v(tm); VoidMessage v(tm);
queueMsg.push(v); queueMsg.push(v);
// максимальное число ( для статистики ) // максимальное число ( для статистики )
if( queueMsg.size() > stMaxQueueMessages ) if( queueMsg.size() > stMaxQueueMessages )
stMaxQueueMessages = queueMsg.size(); stMaxQueueMessages = queueMsg.size();
...@@ -500,11 +475,8 @@ struct tmpConsumerInfo ...@@ -500,11 +475,8 @@ struct tmpConsumerInfo
void UniSetObject::cleanMsgQueue( MessagesQueue& q ) void UniSetObject::cleanMsgQueue( MessagesQueue& q )
{ {
if( ulog.is_crit() ) ucrit << myname << "(cleanMsgQueue): msg queue cleaning..." << endl << flush;
{ ucrit << myname << "(cleanMsgQueue): current size of queue: " << q.size() << endl << flush;
ulog.crit() << myname << "(cleanMsgQueue): msg queue cleaning..." << endl << flush;
ulog.crit() << myname << "(cleanMsgQueue): current size of queue: " << q.size() << endl << flush;
}
// проходим по всем известным нам типам(базовым) // проходим по всем известным нам типам(базовым)
// ищем все совпадающие сообщения и оставляем только последние... // ищем все совпадающие сообщения и оставляем только последние...
...@@ -561,7 +533,7 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q ) ...@@ -561,7 +533,7 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q )
case Message::Unused: case Message::Unused:
// просто выкидываем (игнорируем) // просто выкидываем (игнорируем)
break; break;
default: default:
// сразу помещаем в очередь // сразу помещаем в очередь
consumermap[m.consumer].lstOther.push_front(m); consumermap[m.consumer].lstOther.push_front(m);
...@@ -570,22 +542,18 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q ) ...@@ -570,22 +542,18 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q )
} }
} }
if( ulog.is_crit() ) ucrit << myname << "(cleanMsgQueue): ******** cleanup RESULT ********" << endl;
ulog.crit() << myname << "(cleanMsgQueue): ******** cleanup RESULT ********" << endl;
for( map<UniSetTypes::ObjectId,tmpConsumerInfo>::iterator it0 = consumermap.begin(); for( map<UniSetTypes::ObjectId,tmpConsumerInfo>::iterator it0 = consumermap.begin();
it0!=consumermap.end(); ++it0 ) it0!=consumermap.end(); ++it0 )
{ {
if( ulog.is_crit() ) ucrit << myname << "(cleanMsgQueue): CONSUMER=" << it0->first << endl;
{ ucrit << myname << "(cleanMsgQueue): after clean SensorMessage: " << it0->second.smap.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): CONSUMER=" << it0->first << endl; ucrit << myname << "(cleanMsgQueue): after clean TimerMessage: " << it0->second.tmap.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): after clean SensorMessage: " << it0->second.smap.size() << endl; ucrit << myname << "(cleanMsgQueue): after clean SystemMessage: " << it0->second.sysmap.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): after clean TimerMessage: " << it0->second.tmap.size() << endl; ucrit << myname << "(cleanMsgQueue): after clean ConfirmMessage: " << it0->second.cmap.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): after clean SystemMessage: " << it0->second.sysmap.size() << endl; ucrit << myname << "(cleanMsgQueue): after clean other: " << it0->second.lstOther.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): after clean ConfirmMessage: " << it0->second.cmap.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): after clean other: " << it0->second.lstOther.size() << endl;
}
// теперь ОСТАВШИЕСЯ запихиваем обратно в очередь... // теперь ОСТАВШИЕСЯ запихиваем обратно в очередь...
map<UniSetTypes::KeyType,VoidMessage>::iterator it=it0->second.smap.begin(); map<UniSetTypes::KeyType,VoidMessage>::iterator it=it0->second.smap.begin();
for( ; it!=it0->second.smap.end(); ++it ) for( ; it!=it0->second.smap.end(); ++it )
...@@ -616,21 +584,16 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q ) ...@@ -616,21 +584,16 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q )
q.push(*it6); q.push(*it6);
} }
if( ulog.is_crit() ) ucrit << myname
{
ulog.crit() << myname
<< "(cleanMsgQueue): ******* result size of queue: " << "(cleanMsgQueue): ******* result size of queue: "
<< q.size() << q.size()
<< " < " << getMaxSizeOfMessageQueue() << endl; << " < " << getMaxSizeOfMessageQueue() << endl;
}
if( q.size() >= getMaxSizeOfMessageQueue() ) if( q.size() >= getMaxSizeOfMessageQueue() )
{ {
if( ulog.is_crit() ) ucrit << myname << "(cleanMsgQueue): clean failed. size > " << q.size() << endl;
{ ucrit << myname << "(cleanMsgQueue): remove " << getMaxCountRemoveOfMessage() << " old messages " << endl;
ulog.crit() << myname << "(cleanMsgQueue): clean failed. size > " << q.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): remove " << getMaxCountRemoveOfMessage() << " old messages " << endl;
}
for( unsigned int i=0; i<getMaxCountRemoveOfMessage(); i++ ) for( unsigned int i=0; i<getMaxCountRemoveOfMessage(); i++ )
{ {
q.top(); q.top();
...@@ -638,9 +601,8 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q ) ...@@ -638,9 +601,8 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q )
if( q.empty() ) if( q.empty() )
break; break;
} }
if( ulog.is_crit() ) ucrit << myname << "(cleanMsgQueue): result size=" << q.size() << endl;
ulog.crit() << myname << "(cleanMsgQueue): result size=" << q.size() << endl;
} }
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -676,8 +638,7 @@ bool UniSetObject::disactivate() ...@@ -676,8 +638,7 @@ bool UniSetObject::disactivate()
try try
{ {
if( ulog.is_info() ) uinfo << "disactivateObject..." << endl;
ulog.info() << "disactivateObject..." << endl;
PortableServer::POA_var poamngr = mymngr->getPOA(); PortableServer::POA_var poamngr = mymngr->getPOA();
if( !PortableServer::POA_Helper::is_nil(poamngr) ) if( !PortableServer::POA_Helper::is_nil(poamngr) )
...@@ -690,37 +651,30 @@ bool UniSetObject::disactivate() ...@@ -690,37 +651,30 @@ bool UniSetObject::disactivate()
unregister(); unregister();
PortableServer::ObjectId_var oid = poamngr->servant_to_id(static_cast<PortableServer::ServantBase*>(this)); PortableServer::ObjectId_var oid = poamngr->servant_to_id(static_cast<PortableServer::ServantBase*>(this));
poamngr->deactivate_object(oid); poamngr->deactivate_object(oid);
if( ulog.is_info() ) uinfo << "ok..." << endl;
ulog.info() << "ok..." << endl;
return true; return true;
} }
if( ulog.is_warn() ) uwarn << "manager already destroyed.." << endl;
ulog.warn() << "manager already destroyed.." << endl;
} }
catch(CORBA::TRANSIENT) catch(CORBA::TRANSIENT)
{ {
if( ulog.is_warn() ) uwarn << "isExist: нет связи..."<< endl;
ulog.warn() << "isExist: нет связи..."<< endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( ulog.is_warn() ) uwarn << "UniSetObject: "<<"поймали CORBA::SystemException: " << ex.NP_minorString() << endl;
ulog.warn() << "UniSetObject: "<<"поймали CORBA::SystemException: " << ex.NP_minorString() << endl;
} }
catch(CORBA::Exception& ex) catch(CORBA::Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << "UniSetObject: "<<"поймали CORBA::Exception." << endl;
ulog.warn() << "UniSetObject: "<<"поймали CORBA::Exception." << endl;
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << "UniSetObject: "<< ex << endl;
ulog.warn() << "UniSetObject: "<< ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << "UniSetObject: "<<" catch ..." << endl;
ulog.warn() << "UniSetObject: "<<" catch ..." << endl;
} }
return false; return false;
...@@ -729,12 +683,11 @@ bool UniSetObject::disactivate() ...@@ -729,12 +683,11 @@ bool UniSetObject::disactivate()
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
bool UniSetObject::activate() bool UniSetObject::activate()
{ {
if( ulog.is_info() ) uinfo << myname << ": activate..." << endl;
ulog.info() << myname << ": activate..." << endl;
if( mymngr == NULL ) if( mymngr == NULL )
{ {
ulog.crit() << myname << "(activate): mymngr=NULL!!! activate failure..." << endl; ucrit << myname << "(activate): mymngr=NULL!!! activate failure..." << endl;
return false; return false;
} }
...@@ -756,7 +709,7 @@ bool UniSetObject::activate() ...@@ -756,7 +709,7 @@ bool UniSetObject::activate()
// то myname = noname. ВСЕГДА! // то myname = noname. ВСЕГДА!
if( myid == UniSetTypes::DefaultObjectId ) if( myid == UniSetTypes::DefaultObjectId )
{ {
ulog.crit() << myname << "(activate): Не задан ID!!! activate failure..." << endl; ucrit << myname << "(activate): Не задан ID!!! activate failure..." << endl;
// вызываем на случай если она переопределена в дочерних классах // вызываем на случай если она переопределена в дочерних классах
// Например в UniSetManager, если здесь не вызвать, то не будут инициализированы подчинённые объекты. // Например в UniSetManager, если здесь не вызвать, то не будут инициализированы подчинённые объекты.
// (см. UniSetManager::activateObject) // (см. UniSetManager::activateObject)
...@@ -792,32 +745,28 @@ bool UniSetObject::activate() ...@@ -792,32 +745,28 @@ bool UniSetObject::activate()
} }
else else
{ {
if( ulog.is_info() ) uinfo << myname << ": ?? не задан ObjectId...("
{ << "myid=" << myid << " threadcreate=" << threadcreate
ulog.info() << myname << ": ?? не задан ObjectId...(" << ")" << endl;
<< "myid=" << myid << " threadcreate=" << threadcreate
<< ")" << endl;
}
thread(false); thread(false);
} }
activateObject(); activateObject();
if( ulog.is_info() ) uinfo << myname << ": activate ok." << endl;
ulog.info() << myname << ": activate ok." << endl;
return true; return true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetObject::work() void UniSetObject::work()
{ {
if( ulog.is_info() ) uinfo << myname << ": thread processing messages run..." << endl;
ulog.info() << myname << ": thread processing messages run..." << endl;
if( thr ) if( thr )
msgpid = thr->getTID(); msgpid = thr->getTID();
while( isActive() ) while( isActive() )
{ {
callback(); callback();
} }
ulog.warn() << myname << ": thread processing messages stop..." << endl;
uinfo << myname << ": thread processing messages stop..." << endl;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetObject::callback() void UniSetObject::callback()
...@@ -832,8 +781,7 @@ void UniSetObject::callback() ...@@ -832,8 +781,7 @@ void UniSetObject::callback()
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void UniSetObject::processingMessage( UniSetTypes::VoidMessage *msg ) void UniSetObject::processingMessage( UniSetTypes::VoidMessage *msg )
{ {
if( ulog.is_info() ) uinfo << myname << ": default processing messages..." << endl;
ulog.info() << myname << ": default processing messages..." << endl;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
UniSetTypes::SimpleInfo* UniSetObject::getInfo() UniSetTypes::SimpleInfo* UniSetObject::getInfo()
......
...@@ -61,7 +61,7 @@ void UniSetObject_LT::callback() ...@@ -61,7 +61,7 @@ void UniSetObject_LT::callback()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
ulog.crit() << myname << "(callback): " << ex << endl; ucrit << myname << "(callback): " << ex << endl;
} }
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
......
...@@ -89,8 +89,7 @@ void IOController::sensorsUnregistration() ...@@ -89,8 +89,7 @@ void IOController::sensorsUnregistration()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_crit() ) ucrit << myname << "(sensorsUnregistration): "<< ex << endl;
ulog.crit() << myname << "(sensorsUnregistration): "<< ex << endl;
} }
catch(...){} catch(...){}
} }
...@@ -117,8 +116,7 @@ void IOController::activateInit() ...@@ -117,8 +116,7 @@ void IOController::activateInit()
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(activateInit): "<< ex << endl;
ulog.crit() << myname << "(activateInit): "<< ex << endl;
} }
catch(...){} catch(...){}
} }
...@@ -150,9 +148,7 @@ long IOController::localGetValue( IOController::IOStateList::iterator& li, ...@@ -150,9 +148,7 @@ long IOController::localGetValue( IOController::IOStateList::iterator& li,
err << myname << "(localGetValue): Not found sensor (" << si.id << ":" << si.node << ") " err << myname << "(localGetValue): Not found sensor (" << si.id << ":" << si.node << ") "
<< conf->oind->getNameById(si.id); << conf->oind->getNameById(si.id);
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -263,19 +259,15 @@ void IOController::localSetValue( IOController::IOStateList::iterator& li, ...@@ -263,19 +259,15 @@ void IOController::localSetValue( IOController::IOStateList::iterator& li,
// фильтрам может потребоваться измениять исходное значение (например для усреднения) // фильтрам может потребоваться измениять исходное значение (например для усреднения)
// поэтому передаём (и затем сохраняем) напрямую(ссылку) value (а не const value) // поэтому передаём (и затем сохраняем) напрямую(ссылку) value (а не const value)
bool blocked = ( li->second.blocked || li->second.undefined ); bool blocked = ( li->second.blocked || li->second.undefined );
if( checkIOFilters(&li->second,value,sup_id) || blocked ) if( checkIOFilters(&li->second,value,sup_id) || blocked )
{ {
if( ulog.is_info() ) uinfo << myname << ": save sensor value (" << si.id << ":" << si.node << ")"
{
ulog.info() << myname << ": save sensor value (" << si.id << ":" << si.node << ")"
<< " name: " << conf->oind->getNameById(si.id) << " name: " << conf->oind->getNameById(si.id)
<< " node: " << conf->oind->getMapName(si.node) << " node: " << conf->oind->getMapName(si.node)
<< " value="<< value << endl; << " value="<< value << endl;
}
long prev = li->second.value; long prev = li->second.value;
if( blocked ) if( blocked )
...@@ -327,7 +319,6 @@ IOType IOController::getIOType( const IOController_i::SensorInfo& si ) ...@@ -327,7 +319,6 @@ IOType IOController::getIOType( const IOController_i::SensorInfo& si )
ostringstream err; ostringstream err;
err << myname << "(getIOType): датчик имя: " << conf->oind->getNameById(si.id) << " не найден"; err << myname << "(getIOType): датчик имя: " << conf->oind->getNameById(si.id) << " не найден";
// ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
...@@ -338,8 +329,7 @@ void IOController::ioRegistration( const USensorInfo& ainf, bool force ) ...@@ -338,8 +329,7 @@ void IOController::ioRegistration( const USensorInfo& ainf, bool force )
{ {
ostringstream err; ostringstream err;
err << "(IOCOntroller::ioRegistration): КОНТРОЛЛЕРУ НЕ ЗАДАН ObjectId. Регистрация невозможна."; err << "(IOCOntroller::ioRegistration): КОНТРОЛЛЕРУ НЕ ЗАДАН ObjectId. Регистрация невозможна.";
if( ulog.is_warn() ) uwarn << err.str() << endl;
ulog.warn() << err.str() << endl;
throw ResolveNameError(err.str().c_str()); throw ResolveNameError(err.str().c_str());
} }
...@@ -380,35 +370,27 @@ void IOController::ioRegistration( const USensorInfo& ainf, bool force ) ...@@ -380,35 +370,27 @@ void IOController::ioRegistration( const USensorInfo& ainf, bool force )
{ {
try try
{ {
if( ulog.is_info() ) uinfo << myname
{
ulog.info() << myname
<< "(ioRegistration): регистрирую " << "(ioRegistration): регистрирую "
<< conf->oind->getNameById(ainf.si.id, ainf.si.node) << endl; << conf->oind->getNameById(ainf.si.id, ainf.si.node) << endl;
}
ui.registered( ainf.si.id, ainf.si.node, getRef(), true ); ui.registered( ainf.si.id, ainf.si.node, getRef(), true );
return; return;
} }
catch(ObjectNameAlready& ex ) catch(ObjectNameAlready& ex )
{ {
if( ulog.is_warn() ) uwarn << myname << "(asRegistration): ЗАМЕНЯЮ СУЩЕСТВУЮЩИЙ ОБЪЕКТ (ObjectNameAlready)" << endl;
{
ulog.warn() << myname
<< "(asRegistration): ЗАМЕНЯЮ СУЩЕСТВУЮЩИЙ ОБЪЕКТ (ObjectNameAlready)" << endl;
}
ui.unregister(ainf.si.id,ainf.si.node); ui.unregister(ainf.si.id,ainf.si.node);
} }
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(ioRegistration): " << ex << endl;
ulog.crit() << myname << "(ioRegistration): " << ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit << myname << "(ioRegistration): catch ..."<< endl;
ulog.crit() << myname << "(ioRegistration): catch ..."<< endl;
} }
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
...@@ -428,7 +410,7 @@ void IOController::logging( UniSetTypes::SensorMessage& sm ) ...@@ -428,7 +410,7 @@ void IOController::logging( UniSetTypes::SensorMessage& sm )
// значит на этом узле нет DBServer-а // значит на этом узле нет DBServer-а
if( dbID == UniSetTypes::DefaultObjectId ) if( dbID == UniSetTypes::DefaultObjectId )
return; return;
sm.consumer = dbID; sm.consumer = dbID;
TransportMessage tm(sm.transport_msg()); TransportMessage tm(sm.transport_msg());
ui.send(sm.consumer, tm); ui.send(sm.consumer, tm);
...@@ -439,8 +421,7 @@ void IOController::logging( UniSetTypes::SensorMessage& sm ) ...@@ -439,8 +421,7 @@ void IOController::logging( UniSetTypes::SensorMessage& sm )
if( isPingDBServer ) if( isPingDBServer )
{ {
isPingDBServer = false; isPingDBServer = false;
if( ulog.is_crit() ) ucrit << myname << "(logging): DBServer unavailable" << endl;
ulog.crit() << myname << "(logging): DBServer unavailable" << endl;
} }
} }
} }
...@@ -519,9 +500,8 @@ IOController_i::SensorIOInfo IOController::getSensorIOInfo( const IOController_i ...@@ -519,9 +500,8 @@ IOController_i::SensorIOInfo IOController::getSensorIOInfo( const IOController_i
err << myname << "(getSensorIOInfo): Unknown sensor (" << si.id << ":" << si.node << ")" err << myname << "(getSensorIOInfo): Unknown sensor (" << si.id << ":" << si.node << ")"
<< conf->oind->getNameById(si.id,si.node); << conf->oind->getNameById(si.id,si.node);
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
...@@ -564,11 +544,10 @@ void IOController::calibrate(const IOController_i::SensorInfo& si, ...@@ -564,11 +544,10 @@ void IOController::calibrate(const IOController_i::SensorInfo& si,
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
if( ulog.is_info() ) uinfo << myname <<"(calibrate): from " << conf->oind->getNameById(adminId) << endl;
ulog.info() << myname <<"(calibrate): from " << conf->oind->getNameById(adminId) << endl;
it->second.ci = ci; it->second.ci = ci;
} }
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
IOController_i::CalibrateInfo IOController::getCalibrateInfo(const IOController_i::SensorInfo& si) IOController_i::CalibrateInfo IOController::getCalibrateInfo(const IOController_i::SensorInfo& si)
{ {
...@@ -736,8 +715,8 @@ IOController_i::ShortIOInfo IOController::getChangedTime( const IOController_i:: ...@@ -736,8 +715,8 @@ IOController_i::ShortIOInfo IOController::getChangedTime( const IOController_i::
ostringstream err; ostringstream err;
err << myname << "(getChangedTime): вход(выход) с именем " err << myname << "(getChangedTime): вход(выход) с именем "
<< conf->oind->getNameById(si.id) << " не найден"; << conf->oind->getNameById(si.id) << " не найден";
if( ulog.is_info() )
ulog.info() << err.str() << endl; uinfo << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -778,9 +757,7 @@ IOController::ChangeSignal IOController::signal_change_value( UniSetTypes::Objec ...@@ -778,9 +757,7 @@ IOController::ChangeSignal IOController::signal_change_value( UniSetTypes::Objec
err << myname << "(signal_change_value): вход(выход) с именем " err << myname << "(signal_change_value): вход(выход) с именем "
<< conf->oind->getNameById(id) << " не найден"; << conf->oind->getNameById(id) << " не найден";
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
...@@ -807,8 +784,7 @@ IOController::ChangeUndefinedStateSignal IOController::signal_change_undefined_s ...@@ -807,8 +784,7 @@ IOController::ChangeUndefinedStateSignal IOController::signal_change_undefined_s
err << myname << "(signal_change_undefine): вход(выход) с именем " err << myname << "(signal_change_undefine): вход(выход) с именем "
<< conf->oind->getNameById(id) << " не найден"; << conf->oind->getNameById(id) << " не найден";
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
......
...@@ -135,7 +135,6 @@ bool IONotifyController::removeConsumer(ConsumerList& lst, const ConsumerInfo& c ...@@ -135,7 +135,6 @@ bool IONotifyController::removeConsumer(ConsumerList& lst, const ConsumerInfo& c
if( li->id == cons.id && li->node == cons.node ) if( li->id == cons.id && li->node == cons.node )
{ {
lst.erase(li); lst.erase(li);
// ulog.info() << name.c_name() <<": удаляем "<< name << " из списка потребителей" << endl;
return true; return true;
} }
} }
...@@ -151,14 +150,11 @@ bool IONotifyController::removeConsumer(ConsumerList& lst, const ConsumerInfo& c ...@@ -151,14 +150,11 @@ bool IONotifyController::removeConsumer(ConsumerList& lst, const ConsumerInfo& c
void IONotifyController::askSensor(const IOController_i::SensorInfo& si, void IONotifyController::askSensor(const IOController_i::SensorInfo& si,
const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd ) const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd )
{ {
if( ulog.is_info() ) uinfo << "(askSensor): поступил " << ( cmd == UIODontNotify ? "отказ" :"заказ" ) << " от "
{
ulog.info() << "(askSensor): поступил " << ( cmd == UIODontNotify ? "отказ" :"заказ" ) << " от "
<< conf->oind->getNameById(ci.id, ci.node) << conf->oind->getNameById(ci.id, ci.node)
<< " на аналоговый датчик " << " на аналоговый датчик "
<< conf->oind->getNameById(si.id,si.node) << endl; << conf->oind->getNameById(si.id,si.node) << endl;
}
// если такого аналогового датчика нет, здесь сработает исключение... // если такого аналогового датчика нет, здесь сработает исключение...
IOStateList::iterator li = myioEnd(); IOStateList::iterator li = myioEnd();
localGetValue(li,si); localGetValue(li,si);
...@@ -197,21 +193,18 @@ void IONotifyController::askSensor(const IOController_i::SensorInfo& si, ...@@ -197,21 +193,18 @@ void IONotifyController::askSensor(const IOController_i::SensorInfo& si,
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askSensor): " << conf->oind->getNameById(si.id, si.node) << " catch "<< ex << endl;
ulog.warn() << myname << "(askSensor): " << conf->oind->getNameById(si.id, si.node) << " catch "<< ex << endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( ulog.is_warn() ) uwarn << myname << "(askSensor): " << conf->oind->getNameById(ci.id, ci.node)
ulog.warn() << conf->oind->getNameById(ci.id, ci.node) << " недоступен!!(CORBA::SystemException): "
<< " недоступен!!(CORBA::SystemException): " << ex.NP_minorString() << endl;
<< ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askSensor): " << conf->oind->getNameById(ci.id, ci.node)
ulog.warn() << conf->oind->getNameById(ci.id, ci.node) << " catch..." << endl;
<< " catch..." << endl;
} }
} }
} }
...@@ -243,13 +236,11 @@ void IONotifyController::ask(AskMap& askLst, const IOController_i::SensorInfo& s ...@@ -243,13 +236,11 @@ void IONotifyController::ask(AskMap& askLst, const IOController_i::SensorInfo& s
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump: " << ex << endl;
ulog.warn() << myname << " не смогли сделать dump: " << ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump (catch...)" << endl;
ulog.warn() << myname << " не смогли сделать dump (catch...)" << endl;
} }
} }
else else
...@@ -262,13 +253,11 @@ void IONotifyController::ask(AskMap& askLst, const IOController_i::SensorInfo& s ...@@ -262,13 +253,11 @@ void IONotifyController::ask(AskMap& askLst, const IOController_i::SensorInfo& s
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump: " << ex << endl;
ulog.warn() << myname << " не смогли сделать dump: " << ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump (catch...)" << endl;
ulog.warn() << myname << " не смогли сделать dump (catch...)" << endl;
} }
} }
} }
...@@ -291,20 +280,18 @@ void IONotifyController::ask(AskMap& askLst, const IOController_i::SensorInfo& s ...@@ -291,20 +280,18 @@ void IONotifyController::ask(AskMap& askLst, const IOController_i::SensorInfo& s
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump: " << ex << endl;
ulog.warn() << myname << " не смогли сделать dump: " << ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump (catch...)" << endl;
ulog.warn() << myname << " не смогли сделать dump (catch...)" << endl;
} }
} }
} }
} }
break; break;
} }
default: default:
break; break;
} }
...@@ -331,8 +318,7 @@ void IONotifyController::localSetValue( IOController::IOStateList::iterator& li, ...@@ -331,8 +318,7 @@ void IONotifyController::localSetValue( IOController::IOStateList::iterator& li,
err << myname << "(localSetValue): вход(выход) с именем " err << myname << "(localSetValue): вход(выход) с именем "
<< conf->oind->getNameById(si.id) << " не найден"; << conf->oind->getNameById(si.id) << " не найден";
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
...@@ -344,7 +330,7 @@ void IONotifyController::localSetValue( IOController::IOStateList::iterator& li, ...@@ -344,7 +330,7 @@ void IONotifyController::localSetValue( IOController::IOStateList::iterator& li,
SensorMessage sm(si.id,li->second.value); SensorMessage sm(si.id,li->second.value);
{ // lock { // lock
uniset_rwmutex_rlock lock(li->second.val_lock); uniset_rwmutex_rlock lock(li->second.val_lock);
if( prevValue == li->second.value ) if( prevValue == li->second.value )
return; return;
...@@ -409,25 +395,22 @@ void IONotifyController::send(ConsumerList& lst, UniSetTypes::SensorMessage& sm) ...@@ -409,25 +395,22 @@ void IONotifyController::send(ConsumerList& lst, UniSetTypes::SensorMessage& sm)
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(IONotifyController::send): " << ex
ulog.warn() << myname << "(IONotifyController::send): " << ex
<< " for " << conf->oind->getNameById(li->id, li->node) << endl; << " for " << conf->oind->getNameById(li->id, li->node) << endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( ulog.is_warn() ) uwarn << myname << "(IONotifyController::send): "
ulog.warn() << myname << "(IONotifyController::send): "
<< conf->oind->getNameById(li->id, li->node) << " (CORBA::SystemException): " << conf->oind->getNameById(li->id, li->node) << " (CORBA::SystemException): "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_crit() ) ucrit << myname << "(IONotifyController::send): "
ulog.crit() << myname << "(IONotifyController::send): "
<< conf->oind->getNameById(li->id, li->node) << conf->oind->getNameById(li->id, li->node)
<< " catch..." << endl; << " catch..." << endl;
} }
if( maxAttemtps>0 && (--li->attempt <= 0) ) if( maxAttemtps>0 && (--li->attempt <= 0) )
{ {
li = lst.erase(li); li = lst.erase(li);
...@@ -463,8 +446,7 @@ void IONotifyController::readDump() ...@@ -463,8 +446,7 @@ void IONotifyController::readDump()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(IONotifyController::readDump): " << ex << endl;
ulog.warn() << myname << "(IONotifyController::readDump): " << ex << endl;
} }
} }
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
...@@ -491,8 +473,7 @@ void IONotifyController::dumpOrdersList(const IOController_i::SensorInfo& si, ...@@ -491,8 +473,7 @@ void IONotifyController::dumpOrdersList(const IOController_i::SensorInfo& si,
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(IONotifyController::dumpOrderList): " << ex << endl;
ulog.warn() << myname << "(IONotifyController::dumpOrderList): " << ex << endl;
} }
} }
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
...@@ -511,8 +492,7 @@ void IONotifyController::dumpThresholdList(const IOController_i::SensorInfo& si, ...@@ -511,8 +492,7 @@ void IONotifyController::dumpThresholdList(const IOController_i::SensorInfo& si,
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(IONotifyController::dumpThresholdList): " << ex << endl;
ulog.warn() << myname << "(IONotifyController::dumpThresholdList): " << ex << endl;
} }
} }
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
...@@ -559,13 +539,11 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons ...@@ -559,13 +539,11 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump: " << ex << endl;
ulog.warn() << myname << " не смогли сделать dump: " << ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << " не смогли сделать dump" << endl;
ulog.warn() << myname << " не смогли сделать dump" << endl;
} }
} }
else else
...@@ -578,20 +556,18 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons ...@@ -578,20 +556,18 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askThreshold): dump: " << ex << endl;
ulog.warn() << myname << "(askThreshold): dump: " << ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askThreshold): dump catch..." << endl;
ulog.warn() << myname << "(askThreshold): dump catch..." << endl;
} }
} }
} }
if( cmd == UniversalIO::UIONotifyChange ) if( cmd == UniversalIO::UIONotifyChange )
break; break;
// посылка первый раз состояния // посылка первый раз состояния
try try
{ {
...@@ -607,12 +583,12 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons ...@@ -607,12 +583,12 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons
sm.sm_tv_sec = ti.tv_sec; sm.sm_tv_sec = ti.tv_sec;
sm.sm_tv_usec = ti.tv_usec; sm.sm_tv_usec = ti.tv_usec;
sm.ci = li->second.ci; sm.ci = li->second.ci;
// Проверка нижнего предела // Проверка нижнего предела
if( val <= lowLimit ) if( val <= lowLimit )
{ {
sm.threshold = false; sm.threshold = false;
CORBA::Object_var op = ui.resolve(ci.id, ci.node); CORBA::Object_var op = ui.resolve(ci.id, ci.node);
UniSetObject_i_var ref = UniSetObject_i::_narrow(op); UniSetObject_i_var ref = UniSetObject_i::_narrow(op);
if(!CORBA::is_nil(ref)) if(!CORBA::is_nil(ref))
ref->push(sm.transport_msg()); ref->push(sm.transport_msg());
...@@ -629,19 +605,16 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons ...@@ -629,19 +605,16 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askThreshod): " << ex << endl;
ulog.warn() << myname << "(askThreshod): " << ex << endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( ulog.is_warn() ) uwarn << myname << "(askThreshod): CORBA::SystemException: "
ulog.warn() << myname << "(askThreshod): CORBA::SystemException: "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askThreshold): dump catch..." << endl;
ulog.warn() << myname << "(askThreshold): dump catch..." << endl;
} }
} }
break; break;
...@@ -658,13 +631,11 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons ...@@ -658,13 +631,11 @@ void IONotifyController::askThreshold(const IOController_i::SensorInfo& si, cons
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askThreshold): dump: " << ex << endl;
ulog.warn() << myname << "(askThreshold): dump: " << ex << endl;
} }
catch(...) catch(...)
{ {
if( ulog.is_warn() ) uwarn << myname << "(askThreshold): dump catch..." << endl;
ulog.warn() << myname << "(askThreshold): dump catch..." << endl;
} }
} }
} }
...@@ -817,8 +788,7 @@ void IONotifyController::checkThreshold( IOStateList::iterator& li, ...@@ -817,8 +788,7 @@ void IONotifyController::checkThreshold( IOStateList::iterator& li,
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << myname << "(checkThreshold): " << ex << endl;
ulog.crit() << myname << "(checkThreshold): " << ex << endl;
} }
} }
...@@ -863,9 +833,7 @@ IONotifyController_i::ThresholdInfo IONotifyController::getThresholdInfo( const ...@@ -863,9 +833,7 @@ IONotifyController_i::ThresholdInfo IONotifyController::getThresholdInfo( const
err << myname << "(getThresholds): Not found sensor (" << si.id << ":" << si.node << ") " err << myname << "(getThresholds): Not found sensor (" << si.id << ":" << si.node << ") "
<< conf->oind->getNameById(si.id); << conf->oind->getNameById(si.id);
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
...@@ -879,9 +847,7 @@ IONotifyController_i::ThresholdInfo IONotifyController::getThresholdInfo( const ...@@ -879,9 +847,7 @@ IONotifyController_i::ThresholdInfo IONotifyController::getThresholdInfo( const
err << myname << "(getThresholds): Not found for sensor (" << si.id << ":" << si.node << ") " err << myname << "(getThresholds): Not found for sensor (" << si.id << ":" << si.node << ") "
<< conf->oind->getNameById(si.id) << " ThresholdID='" << tid << "'"; << conf->oind->getNameById(si.id) << " ThresholdID='" << tid << "'";
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
...@@ -896,9 +862,7 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO ...@@ -896,9 +862,7 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO
err << myname << "(getThresholds): Not found sensor (" << si.id << ":" << si.node << ") " err << myname << "(getThresholds): Not found sensor (" << si.id << ":" << si.node << ") "
<< conf->oind->getNameById(si.id); << conf->oind->getNameById(si.id);
if( ulog.is_info() ) uinfo << err.str() << endl;
ulog.info() << err.str() << endl;
throw IOController_i::NameNotFound(err.str().c_str()); throw IOController_i::NameNotFound(err.str().c_str());
} }
...@@ -912,12 +876,11 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO ...@@ -912,12 +876,11 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_warn() ) uwarn << myname << "(getThresholdsList): для датчика "
ulog.warn() << myname << "(getThresholdsList): для датчика "
<< conf->oind->getNameById(it->second.si.id, it->second.si.node) << conf->oind->getNameById(it->second.si.id, it->second.si.node)
<< " " << ex << endl; << " " << ex << endl;
} }
res->tlist.length( it->second.list.size() ); res->tlist.length( it->second.list.size() );
int k=0; int k=0;
...@@ -937,8 +900,6 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO ...@@ -937,8 +900,6 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList() IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
{ {
// ulog.info() << myname << "(getThresholdsList): ...\n";
IONotifyController_i::ThresholdsListSeq* res = new IONotifyController_i::ThresholdsListSeq(); IONotifyController_i::ThresholdsListSeq* res = new IONotifyController_i::ThresholdsListSeq();
res->length( askTMap.size() ); res->length( askTMap.size() );
...@@ -956,13 +917,12 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList() ...@@ -956,13 +917,12 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
} }
catch(Exception& ex) catch(Exception& ex)
{ {
if( ulog.is_warn() ) uwarn << myname << "(getThresholdsList): для датчика "
ulog.warn() << myname << "(getThresholdsList): для датчика "
<< conf->oind->getNameById(it->second.si.id, it->second.si.node) << conf->oind->getNameById(it->second.si.id, it->second.si.node)
<< " " << ex << endl; << " " << ex << endl;
continue; continue;
} }
(*res)[i].tlist.length( it->second.list.size() ); (*res)[i].tlist.length( it->second.list.size() );
int k=0; int k=0;
......
...@@ -60,9 +60,9 @@ void IONotifyController_LT::callback() ...@@ -60,9 +60,9 @@ void IONotifyController_LT::callback()
sleepTime=lt.checkTimers(this); sleepTime=lt.checkTimers(this);
} }
catch(Exception& ex) catch( Exception& ex )
{ {
ulog.crit() << myname << "(callback): " << ex << endl; ucrit << myname << "(callback): " << ex << endl;
} }
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
......
...@@ -65,8 +65,7 @@ void NCRestorer::addlist( IONotifyController* ic, SInfo& inf, IONotifyController ...@@ -65,8 +65,7 @@ void NCRestorer::addlist( IONotifyController* ic, SInfo& inf, IONotifyController
break; break;
default: default:
if( ulog.is_crit() ) ucrit << ic->getName() << "(askDumper::addlist): НЕИЗВЕСТНЫЙ ТИП ДАТЧИКА! -> "
ulog.crit() << ic->getName() << "(askDumper::addlist): НЕИЗВЕСТНЫЙ ТИП ДАТЧИКА! -> "
<< conf->oind->getNameById(inf.si.id,inf.si.node) << endl; << conf->oind->getNameById(inf.si.id,inf.si.node) << endl;
return; return;
break; break;
...@@ -85,8 +84,7 @@ void NCRestorer::addlist( IONotifyController* ic, SInfo& inf, IONotifyController ...@@ -85,8 +84,7 @@ void NCRestorer::addlist( IONotifyController* ic, SInfo& inf, IONotifyController
break; break;
default: default:
if( ulog.is_crit() ) ucrit << ic->getName() << "(NCRestorer::addlist): НЕИЗВЕСТНЫЙ ТИП ДАТЧИКА!-> "
ulog.crit() << ic->getName() << "(NCRestorer::addlist): НЕИЗВЕСТНЫЙ ТИП ДАТЧИКА!-> "
<< conf->oind->getNameById(inf.si.id,inf.si.node) << endl; << conf->oind->getNameById(inf.si.id,inf.si.node) << endl;
break; break;
} }
...@@ -113,7 +111,7 @@ void NCRestorer::addthresholdlist( IONotifyController* ic, SInfo& inf, IONotifyC ...@@ -113,7 +111,7 @@ void NCRestorer::addthresholdlist( IONotifyController* ic, SInfo& inf, IONotifyC
case UniversalIO::AO: case UniversalIO::AO:
ic->ioRegistration(inf); ic->ioRegistration(inf);
break; break;
default: default:
break; break;
} }
...@@ -147,22 +145,20 @@ void NCRestorer::addthresholdlist( IONotifyController* ic, SInfo& inf, IONotifyC ...@@ -147,22 +145,20 @@ void NCRestorer::addthresholdlist( IONotifyController* ic, SInfo& inf, IONotifyC
ic->checkThreshold(it,inf.si,false); ic->checkThreshold(it,inf.si,false);
} }
break; break;
default: default:
break; break;
} }
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
if( ulog.is_warn() ) uwarn << ic->getName() << "(NCRestorer::addthresholdlist): " << ex
ulog.warn() << ic->getName() << "(NCRestorer::addthresholdlist): " << ex
<< " для " << conf->oind->getNameById(inf.si.id, inf.si.node) << endl; << " для " << conf->oind->getNameById(inf.si.id, inf.si.node) << endl;
throw; throw;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
if( ulog.is_warn() ) uwarn << ic->getName() << "(NCRestorer::addthresholdlist): "
ulog.warn() << ic->getName() << "(NCRestorer::addthresholdlist): "
<< conf->oind->getNameById(inf.si.id,inf.si.node) << " недоступен!!(CORBA::SystemException): " << conf->oind->getNameById(inf.si.id,inf.si.node) << " недоступен!!(CORBA::SystemException): "
<< ex.NP_minorString() << endl; << ex.NP_minorString() << endl;
throw; throw;
...@@ -198,14 +194,13 @@ void NCRestorer::init_depends_signals( IONotifyController* ic ) ...@@ -198,14 +194,13 @@ void NCRestorer::init_depends_signals( IONotifyController* ic )
if( it->second.d_si.id == DefaultObjectId ) if( it->second.d_si.id == DefaultObjectId )
continue; continue;
if( ulog.is_info() ) uinfo << ic->getName() << "(NCRestorer::init_depends_signals): "
ulog.info() << ic->getName() << "(NCRestorer::init_depends_signals): "
<< " init depend: '" << conf->oind->getMapName(it->second.si.id) << "'" << " init depend: '" << conf->oind->getMapName(it->second.si.id) << "'"
<< " dep_name=(" << it->second.d_si.id << ")'" << conf->oind->getMapName(it->second.d_si.id) << "'" << " dep_name=(" << it->second.d_si.id << ")'" << conf->oind->getMapName(it->second.d_si.id) << "'"
<< endl; << endl;
IOController::ChangeSignal s = ic->signal_change_value(it->second.d_si); IOController::ChangeSignal s = ic->signal_change_value(it->second.d_si);
s.connect( sigc::mem_fun( &it->second, &IOController::USensorInfo::checkDepend) ); s.connect( sigc::mem_fun( &it->second, &IOController::USensorInfo::checkDepend) );
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -89,24 +89,22 @@ void NCRestorer_XML::init( const std::string& fname ) ...@@ -89,24 +89,22 @@ void NCRestorer_XML::init( const std::string& fname )
else else
uxml = new UniXML(fname); uxml = new UniXML(fname);
} }
catch(UniSetTypes::NameNotFound& ex) catch( UniSetTypes::NameNotFound& ex )
{ {
ulog.warn() << "(NCRestorer_XML): файл " << fname << " не найден, создаём новый...\n"; uwarn << "(NCRestorer_XML): файл " << fname << " не найден, создаём новый...\n";
} }
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void NCRestorer_XML::dump(IONotifyController* ic, SInfo& inf, void NCRestorer_XML::dump(IONotifyController* ic, SInfo& inf,
const IONotifyController::ConsumerList& lst) const IONotifyController::ConsumerList& lst)
{ {
if( ulog.is_warn() ) uwarn << "NCRestorer_XML::dump NOT SUPPORT!!!!" << endl;
ulog.warn() << "NCRestorer_XML::dump NOT SUPPORT!!!!" << endl;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void NCRestorer_XML::dumpThreshold(IONotifyController* ic, SInfo& inf, void NCRestorer_XML::dumpThreshold(IONotifyController* ic, SInfo& inf,
const IONotifyController::ThresholdExtList& lst) const IONotifyController::ThresholdExtList& lst)
{ {
if( ulog.is_warn() ) uwarn << "NCRestorer_XML::dumpThreshold NOT SUPPORT!!!!" << endl;
ulog.warn() << "NCRestorer_XML::dumpThreshold NOT SUPPORT!!!!" << endl;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void NCRestorer_XML::read_list( UniXML& xml, xmlNode* node, IONotifyController* ic ) void NCRestorer_XML::read_list( UniXML& xml, xmlNode* node, IONotifyController* ic )
...@@ -119,16 +117,15 @@ void NCRestorer_XML::read_list( UniXML& xml, xmlNode* node, IONotifyController* ...@@ -119,16 +117,15 @@ void NCRestorer_XML::read_list( UniXML& xml, xmlNode* node, IONotifyController*
{ {
if( !check_list_item(it) ) if( !check_list_item(it) )
continue; continue;
NCRestorer_XML::SInfo inf; NCRestorer_XML::SInfo inf;
if( !getSensorInfo(xml,it,inf) ) if( !getSensorInfo(xml,it,inf) )
{ {
if( ulog.is_warn() ) uwarn << ic->getName() << "(read_list): не смог получить информацию по датчику " << endl;
ulog.warn() << ic->getName() << "(read_list): не смог получить информацию по датчику " << endl;
continue; continue;
} }
inf.undefined = false; inf.undefined = false;
// т.к. в функции может обновится inf // т.к. в функции может обновится inf
...@@ -149,15 +146,15 @@ void NCRestorer_XML::read_list( UniXML& xml, xmlNode* node, IONotifyController* ...@@ -149,15 +146,15 @@ void NCRestorer_XML::read_list( UniXML& xml, xmlNode* node, IONotifyController*
} }
catch(Exception& ex) catch(Exception& ex)
{ {
ulog.warn() << "(read_list): " << ex << endl; uwarn << "(read_list): " << ex << endl;
} }
} }
break; break;
default: default:
break; break;
} }
rslot(xml,it,node); rslot(xml,it,node);
read_consumers(xml,it,inf,ic); read_consumers(xml,it,inf,ic);
} }
...@@ -223,8 +220,7 @@ bool NCRestorer_XML::getBaseInfo( UniXML& xml, xmlNode* it, IOController_i::Sens ...@@ -223,8 +220,7 @@ bool NCRestorer_XML::getBaseInfo( UniXML& xml, xmlNode* it, IOController_i::Sens
string sname( xml.getProp(it,"name")); string sname( xml.getProp(it,"name"));
if( sname.empty() ) if( sname.empty() )
{ {
if( ulog.is_warn() ) uwarn << "(getBaseInfo): не указано имя датчика... пропускаем..." << endl;
ulog.warn() << "(getBaseInfo): не указано имя датчика... пропускаем..." << endl;
return false; return false;
} }
...@@ -239,8 +235,7 @@ bool NCRestorer_XML::getBaseInfo( UniXML& xml, xmlNode* it, IOController_i::Sens ...@@ -239,8 +235,7 @@ bool NCRestorer_XML::getBaseInfo( UniXML& xml, xmlNode* it, IOController_i::Sens
if( sid == UniSetTypes::DefaultObjectId ) if( sid == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << "(getBaseInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР датчика --> " << sname << endl;
ulog.crit() << "(getBaseInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР датчика --> " << sname << endl;
return false; return false;
} }
...@@ -251,8 +246,7 @@ bool NCRestorer_XML::getBaseInfo( UniXML& xml, xmlNode* it, IOController_i::Sens ...@@ -251,8 +246,7 @@ bool NCRestorer_XML::getBaseInfo( UniXML& xml, xmlNode* it, IOController_i::Sens
if( snode == UniSetTypes::DefaultObjectId ) if( snode == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << "(getBaseInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР узла --> " << snodename << endl;
ulog.crit() << "(getBaseInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР узла --> " << snodename << endl;
return false; return false;
} }
...@@ -282,7 +276,7 @@ bool NCRestorer_XML::getSensorInfo( UniXML& xml, xmlNode* it, SInfo& inf ) ...@@ -282,7 +276,7 @@ bool NCRestorer_XML::getSensorInfo( UniXML& xml, xmlNode* it, SInfo& inf )
inf.type = UniSetTypes::getIOType(xml.getProp(it,"iotype")); inf.type = UniSetTypes::getIOType(xml.getProp(it,"iotype"));
if( inf.type == UniversalIO::UnknownIOType ) if( inf.type == UniversalIO::UnknownIOType )
{ {
ulog.crit() << "(NCRestorer_XML:getSensorInfo): unknown iotype=" << xml.getProp(it,"iotype") ucrit << "(NCRestorer_XML:getSensorInfo): unknown iotype=" << xml.getProp(it,"iotype")
<< " for " << xml.getProp(it,"name") << endl; << " for " << xml.getProp(it,"name") << endl;
return false; return false;
} }
...@@ -317,8 +311,7 @@ bool NCRestorer_XML::getSensorInfo( UniXML& xml, xmlNode* it, SInfo& inf ) ...@@ -317,8 +311,7 @@ bool NCRestorer_XML::getSensorInfo( UniXML& xml, xmlNode* it, SInfo& inf )
inf.d_si.id = conf->getSensorID(d_txt); inf.d_si.id = conf->getSensorID(d_txt);
if( inf.d_si.id == UniSetTypes::DefaultObjectId ) if( inf.d_si.id == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << "(NCRestorer_XML:getSensorInfo): sensor='"
ulog.crit() << "(NCRestorer_XML:getSensorInfo): sensor='"
<< xml.getProp(it,"name") << "' err: " << xml.getProp(it,"name") << "' err: "
<< " Unknown SensorID for depend='" << d_txt << " Unknown SensorID for depend='" << d_txt
<< endl; << endl;
...@@ -345,22 +338,17 @@ void NCRestorer_XML::read_thresholds(UniXML& xml, xmlNode* node, IONotifyControl ...@@ -345,22 +338,17 @@ void NCRestorer_XML::read_thresholds(UniXML& xml, xmlNode* node, IONotifyControl
{ {
if( !check_thresholds_item(it) ) if( !check_thresholds_item(it) )
continue; continue;
NCRestorer_XML::SInfo inf; NCRestorer_XML::SInfo inf;
if( !getSensorInfo(xml,it.getCurrent(),inf) ) if( !getSensorInfo(xml,it.getCurrent(),inf) )
{ {
ulog.warn() << ic->getName() uwarn << ic->getName()
<< "(read_thresholds): не смог получить информацию по датчику" << endl; << "(read_thresholds): не смог получить информацию по датчику" << endl;
continue; continue;
} }
if( ulog.is_info() ) uinfo << ic->getName() << "(read_thresholds): " << it.getProp("name") << endl;
{
ulog.info() << ic->getName() << "(read_thresholds): "
<< it.getProp("name") << endl;
// conf->oind->getNameById(inf.si.id,inf.si.node) << endl;
}
UniXML_iterator tit(it); UniXML_iterator tit(it);
if( !tit.goChildren() ) if( !tit.goChildren() )
continue; continue;
...@@ -371,21 +359,18 @@ void NCRestorer_XML::read_thresholds(UniXML& xml, xmlNode* node, IONotifyControl ...@@ -371,21 +359,18 @@ void NCRestorer_XML::read_thresholds(UniXML& xml, xmlNode* node, IONotifyControl
IONotifyController::ThresholdInfoExt ti(0,0,0,0); IONotifyController::ThresholdInfoExt ti(0,0,0,0);
if( !getThresholdInfo(xml,tit,ti) ) if( !getThresholdInfo(xml,tit,ti) )
{ {
ulog.warn() << ic->getName() uwarn << ic->getName()
<< "(read_thresholds): не смог получить информацию о пороге" << "(read_thresholds): не смог получить информацию о пороге"
<< " для датчика " << " для датчика "
<< conf->oind->getNameById(inf.si.id,inf.si.node) << endl; << conf->oind->getNameById(inf.si.id,inf.si.node) << endl;
continue; continue;
} }
if( ulog.is_info() ) uinfo << "(read_thresholds): \tthreshold low="
{ << ti.lowlimit << " \thi=" << ti.hilimit
ulog.info() << "(read_thresholds): \tthreshold low=" << " \t sid=" << ti.sid
<< ti.lowlimit << " \thi=" << ti.hilimit << " \t invert=" << ti.invert
<< " \t sid=" << ti.sid << endl << flush;
<< " \t invert=" << ti.invert
<< endl << flush;
}
xmlNode* cnode = find_node(xml,tit,"consumers",""); xmlNode* cnode = find_node(xml,tit,"consumers","");
if( cnode ) if( cnode )
...@@ -395,14 +380,14 @@ void NCRestorer_XML::read_thresholds(UniXML& xml, xmlNode* node, IONotifyControl ...@@ -395,14 +380,14 @@ void NCRestorer_XML::read_thresholds(UniXML& xml, xmlNode* node, IONotifyControl
{ {
if( !getConsumerList(xml,ask_it,ti.clst) ) if( !getConsumerList(xml,ask_it,ti.clst) )
{ {
ulog.warn() << ic->getName() uwarn << ic->getName()
<< "(read_thresholds): не смог получить список заказчиков" << "(read_thresholds): не смог получить список заказчиков"
<< " для порога " << ti.id << " для порога " << ti.id
<< " датчика " << conf->oind->getNameById(inf.si.id,inf.si.node) << endl; << " датчика " << conf->oind->getNameById(inf.si.id,inf.si.node) << endl;
} }
} }
} }
// порог добавляем в любом случае, даже если список заказчиков пуст... // порог добавляем в любом случае, даже если список заказчиков пуст...
tlst.push_back(ti); tlst.push_back(ti);
rtslot(xml,tit,it); rtslot(xml,tit,it);
...@@ -464,7 +449,7 @@ bool NCRestorer_XML::getThresholdInfo( UniXML& xml,xmlNode* node, ...@@ -464,7 +449,7 @@ bool NCRestorer_XML::getThresholdInfo( UniXML& xml,xmlNode* node,
ti.sid = conf->getSensorID(sid_name); ti.sid = conf->getSensorID(sid_name);
if( ti.sid == UniSetTypes::DefaultObjectId ) if( ti.sid == UniSetTypes::DefaultObjectId )
{ {
ulog.crit() << "(NCRestorer_XML:getThresholdInfo): " ucrit << "(NCRestorer_XML:getThresholdInfo): "
<< " Not found ID for " << sid_name << endl; << " Not found ID for " << sid_name << endl;
} }
else else
...@@ -473,11 +458,11 @@ bool NCRestorer_XML::getThresholdInfo( UniXML& xml,xmlNode* node, ...@@ -473,11 +458,11 @@ bool NCRestorer_XML::getThresholdInfo( UniXML& xml,xmlNode* node,
// Пока что IONotifyController поддерживает работу только с 'DI'. // Пока что IONotifyController поддерживает работу только с 'DI'.
if( iotype != UniversalIO::DI ) if( iotype != UniversalIO::DI )
{ {
ulog.crit() << "(NCRestorer_XML:getThresholdInfo): " ucrit << "(NCRestorer_XML:getThresholdInfo): "
<< " Bad iotype(" << iotype << ") for " << sid_name << ". iotype must be 'DI'!" << endl; << " Bad iotype(" << iotype << ") for " << sid_name << ". iotype must be 'DI'!" << endl;
return false; return false;
} }
} }
} }
......
...@@ -159,8 +159,7 @@ Configuration::Configuration( int argc, const char* const* argv, const string& f ...@@ -159,8 +159,7 @@ Configuration::Configuration( int argc, const char* const* argv, const string& f
void Configuration::initConfiguration( int argc, const char* const* argv ) void Configuration::initConfiguration( int argc, const char* const* argv )
{ {
// PassiveTimer pt(UniSetTimer::WaitUpTime); // PassiveTimer pt(UniSetTimer::WaitUpTime);
if( ulog.is_system() ) ulogsys << "*** configure from file: " << fileConfName << endl;
ulog.system() << "*** configure from file: " << fileConfName << endl;
char curdir[FILENAME_MAX]; char curdir[FILENAME_MAX];
getcwd(curdir,FILENAME_MAX); getcwd(curdir,FILENAME_MAX);
...@@ -184,8 +183,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -184,8 +183,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
{ {
if( !unixml.isOpen() ) if( !unixml.isOpen() )
{ {
if( ulog.is_info() ) uinfo << "(Configuration): open from file " << fileConfName << endl;
ulog.info() << "(Configuration): open from file " << fileConfName << endl;
unixml.open(fileConfName); unixml.open(fileConfName);
} }
} }
...@@ -194,7 +192,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -194,7 +192,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
ulog << "(Configuration): FAILED open configuration from " << fileConfName << endl; ulog << "(Configuration): FAILED open configuration from " << fileConfName << endl;
throw; throw;
} }
// default value // default value
heartbeat_msec = 5000; heartbeat_msec = 5000;
...@@ -208,8 +206,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -208,8 +206,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
UniXML_iterator it = unixml.findNode(unixml.getFirstNode(),"ObjectsMap"); UniXML_iterator it = unixml.findNode(unixml.getFirstNode(),"ObjectsMap");
if( it == NULL ) if( it == NULL )
{ {
if( ulog.is_crit() ) ucrit << "(Configuration:init): not found <ObjectsMap> node in " << fileConfName << endl;
ulog.crit()<< "(Configuration:init): not found <ObjectsMap> node in " << fileConfName << endl;
throw SystemError("(Configuration:init): not found <ObjectsMap> node in " + fileConfName ); throw SystemError("(Configuration:init): not found <ObjectsMap> node in " + fileConfName );
} }
...@@ -222,8 +219,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -222,8 +219,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
} }
catch(Exception& ex ) catch(Exception& ex )
{ {
if( ulog.is_crit() ) ucrit << "(Configuration:init): INIT FAILED! from " << fileConfName << endl;
ulog.crit()<< "(Configuration:init): INIT FAILED! from " << fileConfName << endl;
throw; throw;
} }
} }
...@@ -232,9 +228,6 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -232,9 +228,6 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
// Настраиваем отладочные логи // Настраиваем отладочные логи
initDebug(ulog,"UniSetDebug"); initDebug(ulog,"UniSetDebug");
// cerr << "*************** initConfiguration: oind: " << pt.getCurrent() << " msec " << endl;
// pt.reset();
// default init... // default init...
transientIOR = false; transientIOR = false;
localIOR = false; localIOR = false;
...@@ -295,8 +288,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -295,8 +288,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
param << "=corbaname::" << it->host << ":" << it->port; param << "=corbaname::" << it->host << ":" << it->port;
new_argv[i+1] = strdup(param.str().c_str()); new_argv[i+1] = strdup(param.str().c_str());
if( ulog.is_info() ) uinfo << "(Configuration): внесли параметр " << param.str() << endl;
ulog.info() << "(Configuration): внесли параметр " << param.str() << endl;
i+=2; i+=2;
ostringstream uri; ostringstream uri;
...@@ -306,7 +298,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -306,7 +298,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
assert( i < _argc ); assert( i < _argc );
} }
// т..к _argc уже изменился, то и _argv надо обновить // т..к _argc уже изменился, то и _argv надо обновить
// чтобы вызов getArgParam не привел к SIGSEGV // чтобы вызов getArgParam не привел к SIGSEGV
_argv = new_argv; _argv = new_argv;
...@@ -315,7 +307,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -315,7 +307,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
xmlNode* nsnode = getNode("NameService"); xmlNode* nsnode = getNode("NameService");
if( !nsnode ) if( !nsnode )
{ {
ulog.warn() << "(Configuration): не нашли раздела 'NameService' \n"; uwarn << "(Configuration): не нашли раздела 'NameService' \n";
new_argv[i] = ""; new_argv[i] = "";
new_argv[i+1] = ""; new_argv[i+1] = "";
} }
...@@ -323,14 +315,13 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -323,14 +315,13 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
{ {
new_argv[i] = "-ORBInitRef"; new_argv[i] = "-ORBInitRef";
new_argv[i+1] = ""; // сперва инициализиуем пустой строкой (т.к. будет вызываться getArgParam) new_argv[i+1] = ""; // сперва инициализиуем пустой строкой (т.к. будет вызываться getArgParam)
string defPort( getPort( getProp(nsnode,"port") ) ); // здесь вызывается getArgParam! проходящий по _argv string defPort( getPort( getProp(nsnode,"port") ) ); // здесь вызывается getArgParam! проходящий по _argv
ostringstream param; ostringstream param;
param << this << "NameService=corbaname::" << getProp(nsnode,"host") << ":" << defPort; param << this << "NameService=corbaname::" << getProp(nsnode,"host") << ":" << defPort;
new_argv[i+1] = strdup(param.str().c_str()); new_argv[i+1] = strdup(param.str().c_str());
if( ulog.is_info() ) uinfo << "(Configuration): внесли параметр " << param.str() << endl;
ulog.info() << "(Configuration): внесли параметр " << param.str() << endl;
{ {
ostringstream ns_name; ostringstream ns_name;
...@@ -341,7 +332,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -341,7 +332,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
cerr << "**********************!!!! FAILED ADD name=" <<ns_name << " uri=" << uri.str() << endl; cerr << "**********************!!!! FAILED ADD name=" <<ns_name << " uri=" << uri.str() << endl;
} }
} }
_argv = new_argv; _argv = new_argv;
// ------------- CORBA INIT ------------- // ------------- CORBA INIT -------------
// orb init // orb init
...@@ -350,7 +341,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -350,7 +341,7 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA"); CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var root_poa = PortableServer::POA::_narrow(obj); PortableServer::POA_var root_poa = PortableServer::POA::_narrow(obj);
CORBA::PolicyList pl; CORBA::PolicyList pl;
if( transientIOR == false ) if( transientIOR == false )
{ {
pl.length(3); pl.length(3);
...@@ -374,12 +365,12 @@ void Configuration::initConfiguration( int argc, const char* const* argv ) ...@@ -374,12 +365,12 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
} }
catch( Exception& ex ) catch( Exception& ex )
{ {
ulog.crit()<< "Configuration:" << ex << endl; ucrit << "Configuration:" << ex << endl;
throw; throw;
} }
catch(...) catch(...)
{ {
ulog.crit()<< "Configuration: INIT FAILED!!!!"<< endl; ucrit << "Configuration: INIT FAILED!!!!"<< endl;
throw Exception("Configuration: INIT FAILED!!!!"); throw Exception("Configuration: INIT FAILED!!!!");
} }
...@@ -422,23 +413,21 @@ void Configuration::initParameters() ...@@ -422,23 +413,21 @@ void Configuration::initParameters()
xmlNode* root = unixml.findNode( unixml.getFirstNode(),"UniSet" ); xmlNode* root = unixml.findNode( unixml.getFirstNode(),"UniSet" );
if( !root ) if( !root )
{ {
if( ulog.is_crit() ) ucrit << "Configuration: INIT PARAM`s FAILED! <UniSet>...</UniSet> not found"<< endl;
ulog.crit()<< "Configuration: INIT PARAM`s FAILED! <UniSet>...</UniSet> not found"<< endl;
throw Exception("Configuration: INIT PARAM`s FAILED! <UniSet>...</UniSet> not found!"); throw Exception("Configuration: INIT PARAM`s FAILED! <UniSet>...</UniSet> not found!");
} }
UniXML_iterator it(root); UniXML_iterator it(root);
if( !it.goChildren() ) if( !it.goChildren() )
{ {
if( ulog.is_crit() ) ucrit << "Configuration: INIT PARAM`s FAILED!!!!"<< endl;
ulog.crit()<< "Configuration: INIT PARAM`s FAILED!!!!"<< endl;
throw Exception("Configuration: INIT PARAM`s FAILED!!!!"); throw Exception("Configuration: INIT PARAM`s FAILED!!!!");
} }
for( ; it.getCurrent(); it.goNext() ) for( ; it.getCurrent(); it.goNext() )
{ {
string name( it.getName() ); string name( it.getName() );
if( name == "LocalNode" ) if( name == "LocalNode" )
{ {
if( localNode == UniSetTypes::DefaultObjectId ) if( localNode == UniSetTypes::DefaultObjectId )
...@@ -457,8 +446,7 @@ void Configuration::initParameters() ...@@ -457,8 +446,7 @@ void Configuration::initParameters()
{ {
ostringstream msg; ostringstream msg;
msg << "Configuration: DBServer '" << secDB << "' not found ServiceID in <services>!"; msg << "Configuration: DBServer '" << secDB << "' not found ServiceID in <services>!";
if( ulog.is_crit() ) ucrit << msg.str() << endl;
ulog.crit()<< msg.str() << endl;
throw Exception(msg.str()); throw Exception(msg.str());
} }
} }
...@@ -536,8 +524,7 @@ void Configuration::setLocalNode( const string& nodename ) ...@@ -536,8 +524,7 @@ void Configuration::setLocalNode( const string& nodename )
{ {
stringstream err; stringstream err;
err << "(Configuration::setLocalNode): Not found node '" << nodename << "'"; err << "(Configuration::setLocalNode): Not found node '" << nodename << "'";
if( ulog.is_crit() ) ucrit << err.str() << endl;
ulog.crit()<< err.str() << endl;
throw Exception(err.str()); throw Exception(err.str());
} }
...@@ -604,8 +591,7 @@ void Configuration::createNodesList() ...@@ -604,8 +591,7 @@ void Configuration::createNodesList()
xmlNode* omapnode = unixml.findNode(unixml.getFirstNode(), "ObjectsMap"); xmlNode* omapnode = unixml.findNode(unixml.getFirstNode(), "ObjectsMap");
if( !omapnode ) if( !omapnode )
{ {
if( ulog.is_crit() ) ucrit << "(Configuration): <ObjectsMap> not found!!!" << endl;
ulog.crit()<< "(Configuration): <ObjectsMap> not found!!!" << endl;
throw Exception("(Configuration): <ObjectsMap> not found!"); throw Exception("(Configuration): <ObjectsMap> not found!");
} }
...@@ -613,8 +599,7 @@ void Configuration::createNodesList() ...@@ -613,8 +599,7 @@ void Configuration::createNodesList()
xmlNode* node = unixml.findNode(omapnode, "nodes"); xmlNode* node = unixml.findNode(omapnode, "nodes");
if(!node) if(!node)
{ {
if( ulog.is_crit() ) ucrit << "(Configuration): <nodes> section not found!"<< endl;
ulog.crit()<< "(Configuration): <nodes> section not found!"<< endl;
throw Exception("(Configiuration): <nodes> section not found"); throw Exception("(Configiuration): <nodes> section not found");
} }
...@@ -630,8 +615,7 @@ void Configuration::createNodesList() ...@@ -630,8 +615,7 @@ void Configuration::createNodesList()
string sname(getProp(it,"name")); string sname(getProp(it,"name"));
if(sname.empty()) if(sname.empty())
{ {
if( ulog.is_crit() ) ucrit << "Configuration(createNodesList): unknown name='' in <nodes> "<< endl;
ulog.crit()<< "Configuration(createNodesList): unknown name='' in <nodes> "<< endl;
throw Exception("Configuration(createNodesList: unknown name='' in <nodes>"); throw Exception("Configuration(createNodesList: unknown name='' in <nodes>");
} }
...@@ -641,15 +625,13 @@ void Configuration::createNodesList() ...@@ -641,15 +625,13 @@ void Configuration::createNodesList()
nodename = oind->mkFullNodeName(nodename,nodename); nodename = oind->mkFullNodeName(nodename,nodename);
NodeInfo ninf; NodeInfo ninf;
// ulog.info() << "Configuration(createNodesList): вносим узел " << nodename << endl;
ninf.id = oind->getIdByName(nodename); ninf.id = oind->getIdByName(nodename);
if( ninf.id == DefaultObjectId ) if( ninf.id == DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << "Configuration(createNodesList): Not found ID for node '" << nodename << "'" << endl;
ulog.crit()<< "Configuration(createNodesList): Not found ID for node '" << nodename << "'" << endl;
throw Exception("Configuration(createNodesList): Not found ID for node '"+nodename+"'"); throw Exception("Configuration(createNodesList): Not found ID for node '"+nodename+"'");
} }
ninf.host = getProp(it,"ip").c_str(); ninf.host = getProp(it,"ip").c_str();
string tp(getProp(it,"port")); string tp(getProp(it,"port"));
if( tp.empty() ) if( tp.empty() )
...@@ -658,7 +640,7 @@ void Configuration::createNodesList() ...@@ -658,7 +640,7 @@ void Configuration::createNodesList()
ninf.port = tp.c_str(); ninf.port = tp.c_str();
string tmp(it.getProp("dbserver")); string tmp(it.getProp("dbserver"));
if( tmp.empty() ) if( tmp.empty() )
ninf.dbserver = UniSetTypes::DefaultObjectId; ninf.dbserver = UniSetTypes::DefaultObjectId;
else else
...@@ -667,8 +649,7 @@ void Configuration::createNodesList() ...@@ -667,8 +649,7 @@ void Configuration::createNodesList()
ninf.dbserver = oind->getIdByName(dname); ninf.dbserver = oind->getIdByName(dname);
if( ninf.dbserver == DefaultObjectId ) if( ninf.dbserver == DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << "Configuration(createNodesList): Not found ID for DBServer name='" << dname << "'" << endl;
ulog.crit()<< "Configuration(createNodesList): Not found ID for DBServer name='" << dname << "'" << endl;
throw Exception("Configuration(createNodesList: Not found ID for DBServer name='"+dname+"'"); throw Exception("Configuration(createNodesList: Not found ID for DBServer name='"+dname+"'");
} }
} }
...@@ -677,16 +658,13 @@ void Configuration::createNodesList() ...@@ -677,16 +658,13 @@ void Configuration::createNodesList()
localDBServer = ninf.dbserver; localDBServer = ninf.dbserver;
ninf.connected = false; ninf.connected = false;
initNode(ninf, it);
if( ulog.is_info() ) initNode(ninf, it);
ulog.info() << "Configuration(createNodesList): add to list of nodes: node=" << nodename << " id=" << ninf.id << endl; uinfo << "Configuration(createNodesList): add to list of nodes: node=" << nodename << " id=" << ninf.id << endl;
lnodes.push_back(ninf); lnodes.push_back(ninf);
} }
if( ulog.is_info() ) uinfo << "Configuration(createNodesList): size of node list " << lnodes.size() << endl;
ulog.info() << "Configuration(createNodesList): size of node list " << lnodes.size() << endl;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
void Configuration::initNode( UniSetTypes::NodeInfo& ninfo, UniXML_iterator& it ) void Configuration::initNode( UniSetTypes::NodeInfo& ninfo, UniXML_iterator& it )
...@@ -748,12 +726,12 @@ xmlNode* Configuration::initDebug( DebugStream& deb, const string& _debname ) ...@@ -748,12 +726,12 @@ xmlNode* Configuration::initDebug( DebugStream& deb, const string& _debname )
if( !debug_file.empty() ) if( !debug_file.empty() )
deb.logFile(debug_file); deb.logFile(debug_file);
} }
// теперь смотрим командную строку // теперь смотрим командную строку
string log_in("--"+debname+"-log-in-file"); string log_in("--"+debname+"-log-in-file");
string add_level("--"+debname+"-add-levels"); string add_level("--"+debname+"-add-levels");
string del_level("--"+debname+"-del-levels"); string del_level("--"+debname+"-del-levels");
// смотрим командную строку // смотрим командную строку
for (int i=1; i < (_argc - 1); i++) for (int i=1; i < (_argc - 1); i++)
{ {
...@@ -782,8 +760,7 @@ void Configuration::initRepSections() ...@@ -782,8 +760,7 @@ void Configuration::initRepSections()
{ {
ostringstream msg; ostringstream msg;
msg << "Configuration(initRepSections): Not found section <RootSection> in " << fileConfName; msg << "Configuration(initRepSections): Not found section <RootSection> in " << fileConfName;
if( ulog.is_crit() ) ucrit << msg.str() << endl;
ulog.crit()<< msg.str() << endl;
throw SystemError(msg.str()); throw SystemError(msg.str());
} }
...@@ -801,8 +778,7 @@ string Configuration::getRepSectionName( const string& sec, xmlNode* secnode ) ...@@ -801,8 +778,7 @@ string Configuration::getRepSectionName( const string& sec, xmlNode* secnode )
{ {
ostringstream msg; ostringstream msg;
msg << "Configuration(initRepSections): Not found section '" << sec << "' in " << fileConfName; msg << "Configuration(initRepSections): Not found section '" << sec << "' in " << fileConfName;
if( ulog.is_crit() ) ucrit << msg.str() << endl;
ulog.crit()<< msg.str() << endl;
throw SystemError(msg.str()); throw SystemError(msg.str());
} }
...@@ -842,8 +818,7 @@ void Configuration::setConfFileName( const string& fn ) ...@@ -842,8 +818,7 @@ void Configuration::setConfFileName( const string& fn )
msg << "\n\n***** CRIT: Unknown configure file." << endl msg << "\n\n***** CRIT: Unknown configure file." << endl
<< " Use --confile filename " << endl << " Use --confile filename " << endl
<< " OR define enviropment variable UNISET_CONFILE" << endl; << " OR define enviropment variable UNISET_CONFILE" << endl;
if( ulog.is_crit() ) ucrit << msg.str();
ulog.crit()<< msg.str();
throw SystemError(msg.str()); throw SystemError(msg.str());
} }
} }
...@@ -874,7 +849,7 @@ ObjectId Configuration::getSensorID( const std::string& name ) ...@@ -874,7 +849,7 @@ ObjectId Configuration::getSensorID( const std::string& name )
{ {
if( name.empty() ) if( name.empty() )
return DefaultObjectId; return DefaultObjectId;
return oind->getIdByName(getSensorsSection()+"/"+name); return oind->getIdByName(getSensorsSection()+"/"+name);
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
...@@ -960,7 +935,7 @@ xmlNode* Configuration::getXMLNodesSection() ...@@ -960,7 +935,7 @@ xmlNode* Configuration::getXMLNodesSection()
{ {
if( xmlNodesSec ) if( xmlNodesSec )
return xmlNodesSec; return xmlNodesSec;
xmlNodesSec = unixml.findNode(unixml.getFirstNode(),"nodes"); xmlNodesSec = unixml.findNode(unixml.getFirstNode(),"nodes");
return xmlNodesSec; return xmlNodesSec;
} }
......
...@@ -112,7 +112,7 @@ timeout_t LT_Object::checkTimers( UniSetObject* obj ) ...@@ -112,7 +112,7 @@ timeout_t LT_Object::checkTimers( UniSetObject* obj )
} }
catch(Exception& ex) catch(Exception& ex)
{ {
ulog.crit() << "(checkTimers): " << ex << endl; ucrit << "(checkTimers): " << ex << endl;
} }
return sleepTime; return sleepTime;
...@@ -125,11 +125,11 @@ timeout_t LT_Object::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, c ...@@ -125,11 +125,11 @@ timeout_t LT_Object::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, c
{ {
if( timeMS < UniSetTimer::MinQuantityTime ) if( timeMS < UniSetTimer::MinQuantityTime )
{ {
ulog.crit() << "(LT_askTimer): [мс] попытка заказть таймер со временем срабатыания " ucrit << "(LT_askTimer): [мс] попытка заказть таймер со временем срабатыания "
<< " меньше разрешённого " << UniSetTimer::MinQuantityTime << endl; << " меньше разрешённого " << UniSetTimer::MinQuantityTime << endl;
timeMS = UniSetTimer::MinQuantityTime; timeMS = UniSetTimer::MinQuantityTime;
} }
{ // lock { // lock
uniset_rwmutex_wrlock lock(lstMutex); uniset_rwmutex_wrlock lock(lstMutex);
// поищем а может уж такой есть // поищем а может уж такой есть
...@@ -141,11 +141,8 @@ timeout_t LT_Object::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, c ...@@ -141,11 +141,8 @@ timeout_t LT_Object::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, c
{ {
li->curTick = ticks; li->curTick = ticks;
li->tmr.setTiming(timeMS); li->tmr.setTiming(timeMS);
if( ulog.is_info() ) uinfo << "(LT_askTimer): заказ на таймер(id="
{
ulog.info() << "(LT_askTimer): заказ на таймер(id="
<< timerid << ") " << timeMS << " [мс] уже есть..." << endl; << timerid << ") " << timeMS << " [мс] уже есть..." << endl;
}
return sleepTime; return sleepTime;
} }
} }
...@@ -155,14 +152,12 @@ timeout_t LT_Object::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, c ...@@ -155,14 +152,12 @@ timeout_t LT_Object::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, c
tlst.push_back(newti); tlst.push_back(newti);
newti.reset(); newti.reset();
} // unlock } // unlock
if( ulog.is_info() ) uinfo << "(LT_askTimer): поступил заказ на таймер(id="<< timerid << ") " << timeMS << " [мс]\n";
ulog.info() << "(LT_askTimer): поступил заказ на таймер(id="<< timerid << ") " << timeMS << " [мс]\n";
} }
else // отказ (при timeMS == 0) else // отказ (при timeMS == 0)
{ {
if( ulog.is_info() ) uinfo << "(LT_askTimer): поступил отказ по таймеру id="<< timerid << endl;
ulog.info() << "(LT_askTimer): поступил отказ по таймеру id="<< timerid << endl;
{ // lock { // lock
uniset_rwmutex_wrlock lock(lstMutex); uniset_rwmutex_wrlock lock(lstMutex);
tlst.remove_if(Timer_eq(timerid)); // STL - способ tlst.remove_if(Timer_eq(timerid)); // STL - способ
......
...@@ -112,9 +112,9 @@ uniset_mutex_lock::uniset_mutex_lock( uniset_mutex& m, int timeMS ): ...@@ -112,9 +112,9 @@ uniset_mutex_lock::uniset_mutex_lock( uniset_mutex& m, int timeMS ):
mutex->mtx.lock(); mutex->mtx.lock();
if( !mutex->cnd->timedwait(sec, msec) ) if( !mutex->cnd->timedwait(sec, msec) )
{ {
if( !mutex->name().empty() && ulog.is_level9() ) if( !mutex->name().empty() )
{ {
ulog.level9() << "(mutex_lock): вышло заданное время ожидания " ulog9 << "(mutex_lock): вышло заданное время ожидания "
<< timeMS << " msec для " << mutex->name() << endl; << timeMS << " msec для " << mutex->name() << endl;
} }
......
...@@ -59,15 +59,14 @@ void Restorer_XML::setConsumerFilter( const string& field, const string& val ) ...@@ -59,15 +59,14 @@ void Restorer_XML::setConsumerFilter( const string& field, const string& val )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
bool Restorer_XML::getConsumerInfo( UniXML_iterator& it, bool Restorer_XML::getConsumerInfo( UniXML_iterator& it,
ObjectId& cid, ObjectId& cnode ) ObjectId& cid, ObjectId& cnode )
{ {
if( !check_consumer_item(it) ) if( !check_consumer_item(it) )
return false; return false;
string cname( it.getProp("name")); string cname( it.getProp("name"));
if( cname.empty() ) if( cname.empty() )
{ {
if( ulog.is_warn() ) uwarn << "(Restorer_XML:getConsumerInfo): не указано имя заказчика..." << endl;
ulog.warn() << "(Restorer_XML:getConsumerInfo): не указано имя заказчика..." << endl;
return false; return false;
} }
...@@ -80,23 +79,19 @@ bool Restorer_XML::getConsumerInfo( UniXML_iterator& it, ...@@ -80,23 +79,19 @@ bool Restorer_XML::getConsumerInfo( UniXML_iterator& it,
cname = conf->getServicesSection()+"/"+cname; cname = conf->getServicesSection()+"/"+cname;
else else
{ {
if( ulog.is_warn() ) uwarn << "(Restorer_XML:getConsumerInfo): неизвестный тип объекта "
{
ulog.warn() << "(Restorer_XML:getConsumerInfo): неизвестный тип объекта "
<< otype << endl; << otype << endl;
}
return false; return false;
} }
cid = conf->oind->getIdByName(cname); cid = conf->oind->getIdByName(cname);
if( cid == UniSetTypes::DefaultObjectId ) if( cid == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << "(Restorer_XML:getConsumerInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР заказчика -->"
ulog.crit() << "(Restorer_XML:getConsumerInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР заказчика -->"
<< cname << endl; << cname << endl;
return false; return false;
} }
string cnodename(it.getProp("node")); string cnodename(it.getProp("node"));
if( !cnodename.empty() ) if( !cnodename.empty() )
{ {
...@@ -111,17 +106,12 @@ bool Restorer_XML::getConsumerInfo( UniXML_iterator& it, ...@@ -111,17 +106,12 @@ bool Restorer_XML::getConsumerInfo( UniXML_iterator& it,
if( cnode == UniSetTypes::DefaultObjectId ) if( cnode == UniSetTypes::DefaultObjectId )
{ {
if( ulog.is_crit() ) ucrit << "(Restorer_XML:getConsumerInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР узла -->"
ulog.crit() << "(Restorer_XML:getConsumerInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР узла -->"
<< cnodename << endl; << cnodename << endl;
return false; return false;
} }
if( ulog.is_info() ) uinfo << "(Restorer_XML:getConsumerInfo): " << cname << ":" << cnodename << endl;
{
ulog.info() << "(Restorer_XML:getConsumerInfo): "
<< cname << ":" << cnodename << endl;
}
return true; return true;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -147,7 +137,7 @@ xmlNode* Restorer_XML::find_node( UniXML& xml, xmlNode* root, ...@@ -147,7 +137,7 @@ xmlNode* Restorer_XML::find_node( UniXML& xml, xmlNode* root,
{ {
if( nm.empty() ) if( nm.empty() )
return it; return it;
if( xml.getProp(it, "name") == nm ) if( xml.getProp(it, "name") == nm )
return it; return it;
} }
......
...@@ -71,8 +71,7 @@ bool RunLock::isLocked(const string& name) ...@@ -71,8 +71,7 @@ bool RunLock::isLocked(const string& name)
} }
} }
*/ */
if( ulog.is_info() ) uinfo << "(RunLock): programm " << name << " already run" << endl;
ulog.info() << "(RunLock): programm " << name << " already run" << endl;
fclose(out); fclose(out);
closedir(d); closedir(d);
......
...@@ -60,7 +60,6 @@ UniXML::UniXML(): ...@@ -60,7 +60,6 @@ UniXML::UniXML():
UniXML::~UniXML() UniXML::~UniXML()
{ {
//ulog.< "UniXML destr" << endl;
close(); close();
} }
......
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