diff --git a/.classpath b/.classpath index bfbe1725010acc11dfee02824a4f84833ba28177..3f8b7611192bb9a494ade0d2bcc1d358f4d49ba4 100644 --- a/.classpath +++ b/.classpath @@ -2,6 +2,7 @@ <classpath> <classpathentry kind="src" output="target/classes" path="src/main/java"/> <classpathentry excluding="**" including="**/*.java" kind="src" output="target/classes" path="src/main/resources"/> + <classpathentry kind="src" path="src/test/resources"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/> <classpathentry kind="output" path="target/classes"/> diff --git a/pom.xml b/pom.xml index fc32032907a1305d345096e9e7e99b32a83bec2b..437241080594e5dc5c6b40d1df0cf83a82557c86 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ <artifactId>hdbtdbArchivingServers</artifactId> <name>hdbtdbArchivingServers</name> - <version>2.3.3-SNAPSHOT</version> + <version>2.3.3</version> <scm> <connection>${scm.connection.svn.tango-cs}:archiving/server/hdbtdbArchivingServers</connection> @@ -40,7 +40,7 @@ <dependencies> <dependency> <groupId>org.tango</groupId> - <artifactId>TangORB-javadao</artifactId> + <artifactId>TangORB</artifactId> </dependency> <dependency> <groupId>org.tango</groupId> @@ -58,5 +58,10 @@ <groupId>fr.soleil.lib</groupId> <artifactId>hdbtdbArchivingApi</artifactId> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>1.6.1</version> + </dependency> </dependencies> </project> diff --git a/src/main/java/Common/Archiver/Collector/ArchiverCollector.java b/src/main/java/Common/Archiver/Collector/ArchiverCollector.java index ca3561b7f8e068171a1ebbb17a0b1c0af6dd0e65..9c77f57503c945b50b246d3a1f54939736d9d32e 100644 --- a/src/main/java/Common/Archiver/Collector/ArchiverCollector.java +++ b/src/main/java/Common/Archiver/Collector/ArchiverCollector.java @@ -6,11 +6,12 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.slf4j.Logger; + import fr.esrf.TangoDs.Util; import fr.esrf.tangoatk.core.AttributePolledList; import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IAttribute; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public abstract class ArchiverCollector { @@ -23,7 +24,7 @@ public abstract class ArchiverCollector { // This hashtable contains the mode counters by attribute private final Map<String, ModesCounters> attributeModeCounterMap = new HashMap<String, ModesCounters>(); // Diary file - protected fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger logger; + protected final Logger logger; /** * An ModeHandler is associated to each Collector to handle the archiving @@ -36,19 +37,16 @@ public abstract class ArchiverCollector { */ private boolean refreshing; - public ArchiverCollector(ModeHandler modeHandler) { + public ArchiverCollector(ModeHandler modeHandler, Logger logger) { m_modeHandler = modeHandler; - } - - public void setDiaryLogger(ILogger _logger) { - this.logger = _logger; + this.logger = logger; } /* Allows to indicate to the collector that a new attribute must be managed */ protected synchronized void addAttribute(String name) { String lower = name.toLowerCase(); if (attributeModeCounterMap.containsKey(lower)) { - logger.trace(ILogger.LEVEL_WARNING, "ArchiverCollector.addAttribute : The attribute " + name + logger.debug("ArchiverCollector.addAttribute : The attribute " + name + "already exists in the map ==> Counter Re-init"); attributeModeCounterMap.get(lower).init(); } else { @@ -88,8 +86,8 @@ public abstract class ArchiverCollector { doArchive = m_modeHandler.isDataArchivable(mc, dataType, readValueObject, lastValueObject); } catch (Exception e) { e.printStackTrace(); - this.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() + "/doArchiveEvent/catch " + e - + " with the value of " + attCompleteName); + logger.error(this.getClass().getSimpleName() + "/doArchiveEvent/catch " + e + " with the value of " + + attCompleteName); } return doArchive; @@ -105,12 +103,11 @@ public abstract class ArchiverCollector { attributeList.setSynchronizedPeriod(true); attributeList.startRefresher(); refreshing = true; - logger.trace(ILogger.LEVEL_DEBUG, this.getClass() + " start refresh for " + attributeList.getSize() - + " attributes"); + logger.debug(this.getClass() + " start refresh for " + attributeList.getSize() + " attributes"); } else { // force a refresh for newly added attributes attributeList.refresh(); - logger.trace(ILogger.LEVEL_DEBUG, "FORCING refresh for " + this.getClass()); + logger.debug("FORCING refresh for " + this.getClass()); } } } @@ -120,8 +117,7 @@ public abstract class ArchiverCollector { */ protected synchronized void stopCollecting() { try { - logger.trace(ILogger.LEVEL_DEBUG, this.getClass() + " stop refresh on " + attributeList.getSize() - + " attributes"); + logger.debug(this.getClass() + " stop refresh on " + attributeList.getSize() + " attributes"); attributeList.stopRefresher(); refreshing = false; } catch (final Exception e) { diff --git a/src/main/java/Common/Watcher/AbsArchivingWatcher.java b/src/main/java/Common/Watcher/AbsArchivingWatcher.java index c87c6cc218ab9f1dcea3e437b4827153d80f9ab2..1db9083b034467d9dbc5c9f3acbd9478fa355e4f 100644 --- a/src/main/java/Common/Watcher/AbsArchivingWatcher.java +++ b/src/main/java/Common/Watcher/AbsArchivingWatcher.java @@ -1,5 +1,6 @@ package Common.Watcher; +import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.ArrayList; @@ -9,6 +10,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import org.slf4j.Logger; import org.tango.utils.DevFailedUtils; import fr.esrf.Tango.DevFailed; @@ -19,8 +21,7 @@ import fr.esrf.TangoDs.DeviceImpl; import fr.esrf.TangoDs.Except; import fr.esrf.TangoDs.TangoConst; import fr.esrf.TangoDs.Util; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.LoggerFactory; +import fr.soleil.archiving.utils.LoggingUtils; import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.ArchivingWatch; import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.datasources.db.DBReaderFactory; import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.datasources.db.IDBReader; @@ -182,7 +183,7 @@ public abstract class AbsArchivingWatcher extends DeviceImpl implements TangoCon // private int faultsCounter = 0; // Add your own data members here - protected ILogger logger; + protected Logger logger; private LifeCycleManager lifeCycleManager; @@ -217,7 +218,13 @@ public abstract class AbsArchivingWatcher extends DeviceImpl implements TangoCon } else { dbReader = DBReaderFactory.getImpl(DBReaderFactory.TDB); } - startLoggingFactory(); + try { + logger = LoggingUtils.configureLogging(device_name, ArchivingWatch.isHasDiary(), + ArchivingWatch.getDiaryPath(), ArchivingWatch.getDiaryLogLevel()); + } catch (IOException e) { + DevFailedUtils.throwDevFailed(e); + } + // startLoggingFactory(); } @Override @@ -225,15 +232,17 @@ public abstract class AbsArchivingWatcher extends DeviceImpl implements TangoCon protected abstract DbDatum getClassProperty(String name); - private void startLoggingFactory() { - // System.out.println ( - // "CLA/startLoggingFactory/this.device_name/"+this.device_name+"/hashCode/"+this.hashCode - // ()+"/this.hasDiary/"+this.hasDiary ); - - logger = LoggerFactory.getImpl(device_name, ArchivingWatch.getDiaryPath(), ArchivingWatch.isHasDiary()); - logger.setTraceLevel(ArchivingWatch.getDiaryLogLevel()); - - } + // private void startLoggingFactory() { + // // System.out.println ( + // // + // "CLA/startLoggingFactory/this.device_name/"+this.device_name+"/hashCode/"+this.hashCode + // // ()+"/this.hasDiary/"+this.hasDiary ); + // + // // logger = LoggerFactory.getImpl(device_name, + // // ArchivingWatch.getDiaryPath(), ArchivingWatch.isHasDiary()); + // // logger.setTraceLevel(ArchivingWatch.getDiaryLogLevel()); + // + // } /** * @param result diff --git a/src/main/java/HdbArchiver/Collector/DbProxy.java b/src/main/java/HdbArchiver/Collector/DbProxy.java index 4bf3e57838f6c255ba1cc4f09faad9b65ac5eb01..a6f9fd54126e27bc75e56bababec5055f5df48ec 100644 --- a/src/main/java/HdbArchiver/Collector/DbProxy.java +++ b/src/main/java/HdbArchiver/Collector/DbProxy.java @@ -126,12 +126,13 @@ import java.sql.Timestamp; import java.util.Hashtable; import java.util.Vector; +import org.slf4j.Logger; + import fr.esrf.Tango.DevError; import fr.esrf.Tango.DevFailed; import fr.esrf.Tango.ErrSeverity; import fr.esrf.TangoApi.Database; import fr.esrf.TangoDs.Util; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.HDBDataBaseManager; @@ -152,33 +153,30 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.strategy.control.safetyper import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.strategy.control.safetyperiod.SaferPeriodCalculatorFactory; public class DbProxy implements IDbProxy { - private Hashtable<String, Integer> periods; - private Hashtable<String, Long> counters; - private Hashtable<String, Long> lastInserts; - private Hashtable<String, Long> lastInsertRequests; - - private IArchivingManagerApiRef manager; - private IHdbAttributeInsert inserter; - - private fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger logger; + private final Hashtable<String, Integer> periods; + private final Hashtable<String, Long> counters; + private final Hashtable<String, Long> lastInserts; + private final Hashtable<String, Long> lastInsertRequests; + + private final IArchivingManagerApiRef manager; + private final IHdbAttributeInsert inserter; + + private final Logger logger; + + public DbProxy(final String myDbHost, final String myDbName, final String mySchemaName, final String myDbUser, + final String myDbPassword, final boolean myRacConnection, Logger logger) throws ArchivingException { + this.logger = logger; + + manager = ArchivingManagerApiRefFactory.getInstance(ConfigConst.HDB); + manager.ArchivingConfigureWithoutArchiverListInit(myDbHost, myDbName, mySchemaName, myDbUser, myDbPassword, + myRacConnection, false, false); + inserter = ((HDBDataBaseManager) manager.getDataBase()).getHdbAttributeInsert(logger); + periods = new Hashtable<String, Integer>(); + counters = new Hashtable<String, Long>(); + lastInserts = new Hashtable<String, Long>(); + lastInsertRequests = new Hashtable<String, Long>(); + ArchivingWatch.setDbProxy(this); - public DbProxy(final ILogger logger, final String myDbHost, final String myDbName, final String mySchemaName, - final String myDbUser, final String myDbPassword, final boolean myRacConnection) { - try { - manager = ArchivingManagerApiRefFactory.getInstance(ConfigConst.HDB); - manager.ArchivingConfigureWithoutArchiverListInit(myDbHost, myDbName, mySchemaName, myDbUser, myDbPassword, - myRacConnection, false, false); - inserter = ((HDBDataBaseManager) manager.getDataBase()).getHdbAttributeInsert(); - periods = new Hashtable<String, Integer>(); - counters = new Hashtable<String, Long>(); - lastInserts = new Hashtable<String, Long>(); - lastInsertRequests = new Hashtable<String, Long>(); - this.logger = logger; - inserter.setLogger(this.logger); - ArchivingWatch.setDbProxy(this); - } catch (final ArchivingException e) { - System.err.println(e.toString()); - } } public boolean is_db_connected() { @@ -202,8 +200,7 @@ public class DbProxy implements IDbProxy { inserter.insert_ScalarData(scalarEvent); updateCountersForAttributePostInsert(scalarEvent); } catch (final ArchivingException e) { - logger.trace(ILogger.LEVEL_ERROR, "Error during scalar insertion " + scalarEvent); - logger.trace(ILogger.LEVEL_ERROR, e.toString()); + logger.error("Error during scalar insertion - {}", scalarEvent, e); throw e; } } diff --git a/src/main/java/HdbArchiver/Collector/HdbCollector.java b/src/main/java/HdbArchiver/Collector/HdbCollector.java index 56752fbf0a04d1b01ac8b1ff8717a1c5db635936..ce76583c9183c7b4516937e31ede5b13116edaa3 100644 --- a/src/main/java/HdbArchiver/Collector/HdbCollector.java +++ b/src/main/java/HdbArchiver/Collector/HdbCollector.java @@ -125,12 +125,13 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import org.slf4j.Logger; + import Common.Archiver.Collector.ArchiverCollector; import HdbArchiver.HdbArchiver; import fr.esrf.Tango.DevFailed; import fr.esrf.TangoDs.Util; import fr.esrf.tangoatk.core.ErrorEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingEvent; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; @@ -168,8 +169,8 @@ public abstract class HdbCollector extends ArchiverCollector { // ELETTRA : Archiving Events // --------------------------------------------------------------------------// - public HdbCollector(final HdbModeHandler _modeHandler) { - super(_modeHandler); + public HdbCollector(final HdbModeHandler _modeHandler, Logger logger) { + super(_modeHandler, logger); } protected abstract void addSourceForPolling(final AttributeLightMode attributeLightMode) throws ArchivingException; @@ -248,8 +249,8 @@ public abstract class HdbCollector extends ArchiverCollector { final long newTime = archivingEvent.getTimeStamp(); if (newTime == 0) { - logger.trace(ILogger.LEVEL_WARNING, "NOARCHIVING - received a zero timestamp for " + name - + " - tableName: " + archivingEvent.getTable_name()); + logger.debug("NOARCHIVING - received a zero timestamp for " + name + " - tableName: " + + archivingEvent.getTable_name()); return false; } @@ -258,11 +259,11 @@ public abstract class HdbCollector extends ArchiverCollector { return true; } - final boolean isAlreadyRegisteredDate = lastTimestampStack.containsDate(newTime, logger); - final boolean isValidDate = lastTimestampStack.validateDate(newTime, logger); + final boolean isAlreadyRegisteredDate = lastTimestampStack.containsDate(newTime); + final boolean isValidDate = lastTimestampStack.validateDate(newTime); if (isAlreadyRegisteredDate || !isValidDate) { - logger.trace(ILogger.LEVEL_DEBUG, "NOARCHIVING - AlreadyRegisteredDate - attribute: " + name - + " - timestamp: " + new Timestamp(newTime)); + logger.debug("NOARCHIVING - AlreadyRegisteredDate - attribute: " + name + " - timestamp: " + + new Timestamp(newTime)); return false; } diff --git a/src/main/java/HdbArchiver/Collector/HdbCollectorFactory.java b/src/main/java/HdbArchiver/Collector/HdbCollectorFactory.java index 575850a3a84f7859c3c2c4a9efe2e7a71886c322..4644a17b71a5ab44504c5862898d5e95a603a8d9 100644 --- a/src/main/java/HdbArchiver/Collector/HdbCollectorFactory.java +++ b/src/main/java/HdbArchiver/Collector/HdbCollectorFactory.java @@ -122,6 +122,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import org.slf4j.Logger; + import HdbArchiver.Collector.Tools.SuperMode; import HdbArchiver.Collector.image.Image_RO; import HdbArchiver.Collector.scalar.BooleanScalar_RO; @@ -144,7 +146,6 @@ import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; import fr.esrf.Tango.ErrSeverity; import fr.esrf.TangoDs.TangoConst; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; @@ -152,8 +153,10 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeSupport; public class HdbCollectorFactory { private final Map<SuperMode, HdbCollector> tableCollector = new HashMap<SuperMode, HdbCollector>(); + private final Logger logger; - public HdbCollectorFactory() { + public HdbCollectorFactory(Logger logger) { + this.logger = logger; } /** @@ -189,22 +192,21 @@ public class HdbCollectorFactory { * @param attributeLightMode * Attribute associated to the looked collector. */ - public void createCollectorAndAddSource(final AttributeLightMode attributeLightMode, final ILogger logger, - final DbProxy dbProxy) throws ArchivingException { + public void createCollectorAndAddSource(final AttributeLightMode attributeLightMode, final DbProxy dbProxy) + throws ArchivingException { - logger.trace(ILogger.LEVEL_DEBUG, "createCollectorAndAddSource for " + attributeLightMode); + logger.trace("createCollectorAndAddSource for " + attributeLightMode); final SuperMode superMode = new SuperMode(attributeLightMode.getData_format(), attributeLightMode.getData_type(), attributeLightMode.getWritable(), attributeLightMode.getMode()); HdbCollector collector = tableCollector.get(superMode); if (collector == null) { - logger.trace(ILogger.LEVEL_DEBUG, "new collector "); + logger.trace("new collector "); try { collector = create(attributeLightMode); } catch (final ArchivingException e) { throw e; } collector.setDbProxy(dbProxy); - collector.setDiaryLogger(logger); try { collector.addSource(attributeLightMode); @@ -215,7 +217,7 @@ public class HdbCollectorFactory { tableCollector.put(superMode, collector); } else { - logger.trace(ILogger.LEVEL_DEBUG, "use existing collector " + collector.assessment()); + logger.trace("use existing collector " + collector.assessment()); collector.addSource(attributeLightMode); } } @@ -265,16 +267,16 @@ public class HdbCollectorFactory { case TangoConst.Tango_DEV_UCHAR: case TangoConst.Tango_DEV_ULONG64: case TangoConst.Tango_DEV_LONG64: - collector = new NumberScalar_RO(modeHandler); + collector = new NumberScalar_RO(modeHandler, logger); break; case TangoConst.Tango_DEV_BOOLEAN: - collector = new BooleanScalar_RO(modeHandler); + collector = new BooleanScalar_RO(modeHandler, logger); break; case TangoConst.Tango_DEV_STATE: - collector = new StateScalar_RO(modeHandler); + collector = new StateScalar_RO(modeHandler, logger); break; case TangoConst.Tango_DEV_STRING: - collector = new StringScalar_RO(modeHandler); + collector = new StringScalar_RO(modeHandler, logger); break; default: @@ -292,13 +294,13 @@ public class HdbCollectorFactory { case TangoConst.Tango_DEV_UCHAR: case TangoConst.Tango_DEV_ULONG64: case TangoConst.Tango_DEV_LONG64: - collector = new NumberScalar_RW(modeHandler); + collector = new NumberScalar_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_BOOLEAN: - collector = new BooleanScalar_RW(modeHandler); + collector = new BooleanScalar_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_STRING: - collector = new StringScalar_RW(modeHandler); + collector = new StringScalar_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_STATE: default: @@ -316,13 +318,13 @@ public class HdbCollectorFactory { case TangoConst.Tango_DEV_UCHAR: case TangoConst.Tango_DEV_ULONG64: case TangoConst.Tango_DEV_LONG64: - collector = new NumberScalar_WO(modeHandler); + collector = new NumberScalar_WO(modeHandler, logger); break; case TangoConst.Tango_DEV_BOOLEAN: - collector = new BooleanScalar_WO(modeHandler); + collector = new BooleanScalar_WO(modeHandler, logger); break; case TangoConst.Tango_DEV_STRING: - collector = new StringScalar_WO(modeHandler); + collector = new StringScalar_WO(modeHandler, logger); break; case TangoConst.Tango_DEV_STATE: default: @@ -340,13 +342,13 @@ public class HdbCollectorFactory { case TangoConst.Tango_DEV_UCHAR: case TangoConst.Tango_DEV_ULONG64: case TangoConst.Tango_DEV_LONG64: - collector = new NumberScalar_RW(modeHandler); + collector = new NumberScalar_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_BOOLEAN: - collector = new BooleanScalar_RW(modeHandler); + collector = new BooleanScalar_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_STRING: - collector = new StringScalar_RW(modeHandler); + collector = new StringScalar_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_STATE: default: @@ -373,13 +375,13 @@ public class HdbCollectorFactory { case TangoConst.Tango_DEV_UCHAR: case TangoConst.Tango_DEV_ULONG64: case TangoConst.Tango_DEV_LONG64: - collector = new NumberSpectrum_RO(modeHandler); + collector = new NumberSpectrum_RO(modeHandler, logger); break; case TangoConst.Tango_DEV_BOOLEAN: - collector = new BooleanSpectrum_RO(modeHandler); + collector = new BooleanSpectrum_RO(modeHandler, logger); break; case TangoConst.Tango_DEV_STRING: - collector = new StringSpectrum_RO(modeHandler); + collector = new StringSpectrum_RO(modeHandler, logger); break; default: @@ -397,13 +399,13 @@ public class HdbCollectorFactory { case TangoConst.Tango_DEV_UCHAR: case TangoConst.Tango_DEV_ULONG64: case TangoConst.Tango_DEV_LONG64: - collector = new NumberSpectrum_RO(modeHandler); + collector = new NumberSpectrum_RO(modeHandler, logger); break; case TangoConst.Tango_DEV_BOOLEAN: - collector = new BooleanSpectrum_RO(modeHandler); + collector = new BooleanSpectrum_RO(modeHandler, logger); break; case TangoConst.Tango_DEV_STRING: - collector = new StringSpectrum_RO(modeHandler); + collector = new StringSpectrum_RO(modeHandler, logger); break; default: generateException(GlobalConst.DATA_TYPE_EXCEPTION, data_type, name); @@ -424,13 +426,13 @@ public class HdbCollectorFactory { case TangoConst.Tango_DEV_ULONG64: case TangoConst.Tango_DEV_STATE: - collector = new NumberSpectrum_RW(modeHandler); + collector = new NumberSpectrum_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_BOOLEAN: - collector = new BooleanSpectrum_RW(modeHandler); + collector = new BooleanSpectrum_RW(modeHandler, logger); break; case TangoConst.Tango_DEV_STRING: - collector = new StringSpectrum_RW(modeHandler); + collector = new StringSpectrum_RW(modeHandler, logger); break; default: @@ -440,7 +442,7 @@ public class HdbCollectorFactory { } break; case AttrDataFormat._IMAGE: // IMAGE - collector = new Image_RO(modeHandler); + collector = new Image_RO(modeHandler, logger); break; default: generateException(GlobalConst.DATA_FORMAT_EXCEPTION, data_format, name); diff --git a/src/main/java/HdbArchiver/Collector/image/Image_RO.java b/src/main/java/HdbArchiver/Collector/image/Image_RO.java index 66efdac48cabc5474f699a303bd48b3e4a41d2d1..06a2c5693be2687b16c64d8cb199e524b1621d2a 100644 --- a/src/main/java/HdbArchiver/Collector/image/Image_RO.java +++ b/src/main/java/HdbArchiver/Collector/image/Image_RO.java @@ -87,6 +87,8 @@ package HdbArchiver.Collector.image; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbCollector; import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.ErrSeverity; @@ -97,7 +99,6 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IImageListener; import fr.esrf.tangoatk.core.INumberImage; import fr.esrf.tangoatk.core.NumberImageEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; @@ -106,8 +107,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ImageEvent_RO; public class Image_RO extends HdbCollector implements IImageListener { private static final long serialVersionUID = 8000955241L; - public Image_RO(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public Image_RO(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); } @Override @@ -134,8 +135,8 @@ public class Image_RO extends HdbCollector implements IImageListener { } } } catch (final Exception e) { - final String message = GlobalConst.ARCHIVING_ERROR_PREFIX + " : " + "Failed removing '" - + attributeName + "' from sources"; + final String message = GlobalConst.ARCHIVING_ERROR_PREFIX + " : " + "Failed removing '" + attributeName + + "' from sources"; final String reason = GlobalConst.TANGO_COMM_EXCEPTION; final String desc = "Failed while executing Image_RO.removeSource() method..."; throw new ArchivingException(message, reason, ErrSeverity.WARN, desc, "", e); @@ -156,6 +157,7 @@ public class Image_RO extends HdbCollector implements IImageListener { processEventImage(imageEvent_ro, tryNumber); } + @Override public void imageChange(final NumberImageEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; final String attribute_name = ((INumberImage) event.getSource()).getName(); @@ -185,6 +187,7 @@ public class Image_RO extends HdbCollector implements IImageListener { processEventImage(imageEvent_RO, tryNumber); } + @Override public void stateChange(final AttributeStateEvent event) { } @@ -197,45 +200,39 @@ public class Image_RO extends HdbCollector implements IImageListener { } try // spectrum values can only have periodic modes, we don't need their - // lastValue + // lastValue { super.dbProxy.store(snapImageEvent_RO); super.setLastTimestamp(snapImageEvent_RO); } catch (final Exception e) { final String message = "Problem (ArchivingException) storing Image_RO value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); try_number--; if (try_number > 0) { - System.out.println("Image_RO.processEventImage : \r\n\ttry " + try_number - + "failed..."); + System.out.println("Image_RO.processEventImage : \r\n\ttry " + try_number + "failed..."); processEventImage(snapImageEvent_RO, try_number); } } } @Override - protected void addSourceForEvents(final AttributeLightMode attributeLightMode) - throws ArchivingException { + protected void addSourceForEvents(final AttributeLightMode attributeLightMode) throws ArchivingException { // TODO Auto-generated method stub } @Override - protected void addSourceForPolling(final AttributeLightMode attributeLightMode) - throws ArchivingException { + protected void addSourceForPolling(final AttributeLightMode attributeLightMode) throws ArchivingException { System.out.println("Image_RO.addSource"); try { synchronized (attributeList) { - while ((INumberImage) attributeList.get(attributeLightMode - .getAttribute_complete_name()) == null) { - final INumberImage attribute = (INumberImage) attributeList - .add(attributeLightMode.getAttribute_complete_name()); + while ((INumberImage) attributeList.get(attributeLightMode.getAttribute_complete_name()) == null) { + final INumberImage attribute = (INumberImage) attributeList.add(attributeLightMode + .getAttribute_complete_name()); attribute.addImageListener(this); attribute.addErrorListener(this); - Util.out4.println("\t The attribute named " - + attributeLightMode.getAttribute_complete_name() + Util.out4.println("\t The attribute named " + attributeLightMode.getAttribute_complete_name() + " was hired to the Collector list..."); if (attributeList.size() == 1) { startCollecting(); diff --git a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar.java b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar.java index 3fd0732113c1d2348bc235ae8c0f2588ea827937..fb726c41c34e1366242f77984dafcbc99f7c6cad 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar.java +++ b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar.java @@ -92,6 +92,8 @@ package HdbArchiver.Collector.scalar; import java.util.HashMap; import java.util.Map; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; @@ -110,13 +112,13 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IBooleanScalar; import fr.esrf.tangoatk.core.IBooleanScalarListener; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public abstract class BooleanScalar extends HdbCollector implements IBooleanScalarListener, ITangoArchiveListener { + /** * */ @@ -124,8 +126,8 @@ public abstract class BooleanScalar extends HdbCollector implements IBooleanScal private final Map<Device, TangoEventsAdapter> evtAdaptHMap; - public BooleanScalar(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public BooleanScalar(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -184,7 +186,7 @@ public abstract class BooleanScalar extends HdbCollector implements IBooleanScal // informs the mother class that one new attribute must be // managed addAttribute(attName); - logger.trace(ILogger.LEVEL_INFO, "add archiving for " + attName); + logger.debug("add archiving for " + attName); } } catch (final ConnectionException e) { @@ -363,11 +365,11 @@ public abstract class BooleanScalar extends HdbCollector implements IBooleanScal if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + " Attribute Counters unknown"); + logger.debug(attributeName + " Attribute Counters unknown"); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -381,8 +383,7 @@ public abstract class BooleanScalar extends HdbCollector implements IBooleanScal setLastValue(scalarEvent, scalarEvent.getReadValue()); } catch (final Exception e) { final String message = "Problem storing BooleanScalar value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); try_number--; if (try_number > 0) { @@ -413,14 +414,14 @@ public abstract class BooleanScalar extends HdbCollector implements IBooleanScal final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); Util.out3.println(errorMess); - logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); try { processEventScalar(getNullValueScalarEvent(errorEvent, TangoConst.Tango_DEV_BOOLEAN, getWritableValue()), DEFAULT_TRY_NUMBER); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RO.java b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RO.java index cd343da0bcbd5fda93196598a1568f1dfb9f1d50..f8358a677cdf1d8c105da113dc0b15dc210bbd08 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RO.java +++ b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RO.java @@ -58,6 +58,8 @@ package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -68,19 +70,17 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.tangoatk.core.BooleanScalarEvent; import fr.esrf.tangoatk.core.IBooleanScalar; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class BooleanScalar_RO extends BooleanScalar { - /** * */ private static final long serialVersionUID = -2357227053078000202L; - public BooleanScalar_RO(final HdbModeHandler modeHandler) { - super(modeHandler); + public BooleanScalar_RO(final HdbModeHandler modeHandler, Logger logger) { + super(modeHandler, logger); } @Override @@ -88,6 +88,7 @@ public class BooleanScalar_RO extends BooleanScalar { return AttrWriteType._READ; } + @Override public void booleanScalarChange(final BooleanScalarEvent event) { final ScalarEvent scalarEvent = new ScalarEvent(); final int tryNumber = DEFAULT_TRY_NUMBER; @@ -122,25 +123,22 @@ public class BooleanScalar_RO extends BooleanScalar { processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - System.err.println("BooleanScalar_RO.numberScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); - printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, scalarEvent - .getAttribute_complete_name(), devFailed); + System.err.println("BooleanScalar_RO.numberScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + scalarEvent.getAttribute_complete_name(), devFailed); scalarEvent.setValue(null); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("BooleanScalar_RO.numberScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + System.err.println("BooleanScalar_RO.numberScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + ", source " + event.getSource()); exE.printStackTrace(); scalarEvent.setValue(null); processEventScalar(scalarEvent, tryNumber); final String message = "Problem in BooleanScalar_RO/booleanScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.trace(message, exE); } } @@ -154,6 +152,7 @@ public class BooleanScalar_RO extends BooleanScalar { * @author giacomo Implements the boolean scalar archive events for the read * only type */ + @Override public void archive(final TangoArchiveEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; DeviceAttribute attrib = null; @@ -167,16 +166,12 @@ public class BooleanScalar_RO extends BooleanScalar { } catch (final DevFailed f) { System.out.println("Error getting archive event attribute value"); System.out.println(); - printException( - GlobalConst.DATA_TYPE_EXCEPTION, - AttrDataFormat._SCALAR, - "\033[1;31mBooleanScalar_RO.archive.getValue() failed, caught DevFailed\033[0m", - f); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + "\033[1;31mBooleanScalar_RO.archive.getValue() failed, caught DevFailed\033[0m", f); return; } catch (final Exception e) /* Shouldn't be reached */ { - System.out - .println("BooleanScalar_RO.archive.getValue() failed, caught generic Exception, code failure"); + System.out.println("BooleanScalar_RO.archive.getValue() failed, caught generic Exception, code failure"); e.printStackTrace(); return; } @@ -207,22 +202,20 @@ public class BooleanScalar_RO extends BooleanScalar { bvalue = attrib.extractBoolean(); scalarEvent.setValue(bvalue); - System.out.println(proxy.name() + ": " + attrib.getName() - + "{boolean, RO} [\033[1;32mEVENT\033[0m]: " + bvalue); + System.out.println(proxy.name() + ": " + attrib.getName() + "{boolean, RO} [\033[1;32mEVENT\033[0m]: " + + bvalue); processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - print_exception("NumberScalar_RO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values...", devFailed); + print_exception("NumberScalar_RO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values...", devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("NumberScalar_RO.archive : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); + System.err.println("NumberScalar_RO.archive : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); exE.printStackTrace(); final Object value = null; scalarEvent.setValue(value); diff --git a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RW.java b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RW.java index 3d7d714deed6c6ffdfeb551c5d95fde835480008..87043a13b34583c3a8711e7737adb7a95f259a94 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RW.java +++ b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_RW.java @@ -58,6 +58,8 @@ package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -68,19 +70,17 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.tangoatk.core.BooleanScalarEvent; import fr.esrf.tangoatk.core.IBooleanScalar; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class BooleanScalar_RW extends BooleanScalar { - /** * */ private static final long serialVersionUID = -305489221453454069L; - public BooleanScalar_RW(final HdbModeHandler modeHandler) { - super(modeHandler); + public BooleanScalar_RW(final HdbModeHandler modeHandler, Logger logger) { + super(modeHandler, logger); } @Override @@ -88,6 +88,7 @@ public class BooleanScalar_RW extends BooleanScalar { return AttrWriteType._READ_WRITE; } + @Override public void booleanScalarChange(final BooleanScalarEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; @@ -124,18 +125,16 @@ public class BooleanScalar_RW extends BooleanScalar { processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - System.err.println("BooleanScalar_RW.numberScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); - printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, scalarEvent - .getAttribute_complete_name(), devFailed); + System.err.println("BooleanScalar_RW.numberScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + scalarEvent.getAttribute_complete_name(), devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("BooleanScalar_RW.numberScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + System.err.println("BooleanScalar_RW.numberScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + ", source " + event.getSource()); exE.printStackTrace(); final Object value = null; @@ -143,8 +142,7 @@ public class BooleanScalar_RW extends BooleanScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in BooleanScalar_RW/booleanScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } @@ -152,6 +150,7 @@ public class BooleanScalar_RW extends BooleanScalar { // --------------------------------------------------------------------------// // ELETTRA : Archiving Events // --------------------------------------------------------------------------// + @Override public void archive(final TangoArchiveEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; DeviceAttribute attrib = null; @@ -166,16 +165,12 @@ public class BooleanScalar_RW extends BooleanScalar { } catch (final DevFailed f) { System.out.println("Error getting archive event attribute value"); System.out.println(); - printException( - GlobalConst.DATA_TYPE_EXCEPTION, - AttrDataFormat._SCALAR, - "\033[1;31mBooleanScalar_RW.archive.getValue() failed, caught DevFailed\033[0m", - f); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + "\033[1;31mBooleanScalar_RW.archive.getValue() failed, caught DevFailed\033[0m", f); return; } catch (final Exception e) /* Shouldn't be reached */ { - System.out - .println("BooleanScalar_RW.archive.getValue() failed, caught generic Exception, code failure"); + System.out.println("BooleanScalar_RW.archive.getValue() failed, caught generic Exception, code failure"); e.printStackTrace(); return; } @@ -209,23 +204,20 @@ public class BooleanScalar_RW extends BooleanScalar { bvalue[1] = bvalue_tmp[1]; scalarEvent.setValue(bvalue); - System.out.println(proxy.name() + ": " + attrib.getName() - + "{boolean, RW} [\033[1;32mEVENT\033[0m]: " + "R: " + bvalue[0] + ", W: " - + bvalue[1]); + System.out.println(proxy.name() + ": " + attrib.getName() + "{boolean, RW} [\033[1;32mEVENT\033[0m]: " + + "R: " + bvalue[0] + ", W: " + bvalue[1]); processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - print_exception("NumberScalar_RW.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values...", devFailed); + print_exception("NumberScalar_RW.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values...", devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("NumberScalar_RW.archive : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); + System.err.println("NumberScalar_RW.archive : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); exE.printStackTrace(); final Object value = null; scalarEvent.setValue(value); diff --git a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_WO.java b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_WO.java index 0035c3a64fa6c8368c35e007b89dd97b027f675c..8cc4e4ea2a2c21436316ea524473c6ed392f7f95 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_WO.java +++ b/src/main/java/HdbArchiver/Collector/scalar/BooleanScalar_WO.java @@ -57,6 +57,8 @@ //-====================================================================== package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -67,19 +69,17 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.tangoatk.core.BooleanScalarEvent; import fr.esrf.tangoatk.core.IBooleanScalar; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class BooleanScalar_WO extends BooleanScalar { - /** * */ private static final long serialVersionUID = -4029883084366891708L; - public BooleanScalar_WO(final HdbModeHandler modeHandler) { - super(modeHandler); + public BooleanScalar_WO(final HdbModeHandler modeHandler, Logger logger) { + super(modeHandler, logger); } @Override @@ -87,6 +87,7 @@ public class BooleanScalar_WO extends BooleanScalar { return AttrWriteType._WRITE; } + @Override public void booleanScalarChange(final BooleanScalarEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; final ScalarEvent scalarEvent = new ScalarEvent(); @@ -105,18 +106,16 @@ public class BooleanScalar_WO extends BooleanScalar { processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - System.err.println("BooleanScalar_WO.numberScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); - printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, scalarEvent - .getAttribute_complete_name(), devFailed); + System.err.println("BooleanScalar_WO.numberScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + scalarEvent.getAttribute_complete_name(), devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("BooleanScalar_WO.numberScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + System.err.println("BooleanScalar_WO.numberScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + ", source " + event.getSource()); exE.printStackTrace(); final Object value = null; @@ -124,8 +123,7 @@ public class BooleanScalar_WO extends BooleanScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in BooleanScalar_WO/booleanScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } @@ -137,6 +135,7 @@ public class BooleanScalar_WO extends BooleanScalar { * @author giacomo Implements the boolean scalar archive events for the read * only type */ + @Override public void archive(final TangoArchiveEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; DeviceAttribute attrib = null; @@ -148,14 +147,11 @@ public class BooleanScalar_WO extends BooleanScalar { attrib = event.getValue(); } catch (final DevFailed f) { System.out.println("Error getting archive event attribute value"); - print_exception( - "\033[1;31mBooleanScalar_WO.archive.getValue() failed, caught DevFailed\033[0m", - f); + print_exception("\033[1;31mBooleanScalar_WO.archive.getValue() failed, caught DevFailed\033[0m", f); return; } catch (final Exception e) /* Shouldn't be reached */ { - System.out - .println("BooleanScalar_WO.archive.getValue() failed, caught generic Exception, code failure"); + System.out.println("BooleanScalar_WO.archive.getValue() failed, caught generic Exception, code failure"); e.printStackTrace(); return; } @@ -191,16 +187,14 @@ public class BooleanScalar_WO extends BooleanScalar { processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - print_exception("NumberScalar_WO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values...", devFailed); + print_exception("NumberScalar_WO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values...", devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("BooleanScalar_WO.archive : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); + System.err.println("BooleanScalar_WO.archive : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); exE.printStackTrace(); final Object value = null; scalarEvent.setValue(value); diff --git a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar.java b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar.java index b29b4e3c4ff4b574783cce0adfd0799be105d6e7..2ff355c7a1729ab120fb8dd95197f6898d98a096 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar.java +++ b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar.java @@ -132,6 +132,8 @@ package HdbArchiver.Collector.scalar; import java.util.HashMap; import java.util.Map; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; @@ -150,7 +152,6 @@ import fr.esrf.tangoatk.core.INumberScalar; import fr.esrf.tangoatk.core.INumberScalarListener; import fr.esrf.tangoatk.core.attribute.AAttribute; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; @@ -167,8 +168,8 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar private final Map<Device, TangoEventsAdapter> evtAdaptHMap; - public NumberScalar(final HdbModeHandler modeHandler) { - super(modeHandler); + public NumberScalar(final HdbModeHandler modeHandler, Logger logger) { + super(modeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -176,8 +177,7 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar public synchronized void removeSource(final String attributeName) throws ArchivingException { Util.out2.println("NumberScalar.removeSource"); - logger.trace(ILogger.LEVEL_INFO, "===> Entering " + this.getClass().getSimpleName() + ".removeSource for " - + attributeName); + logger.debug("===> Entering " + this.getClass().getSimpleName() + ".removeSource for " + attributeName); if (HdbArchiver.isUseEvents) { removeSourceForEvents(attributeName); @@ -195,7 +195,7 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar attribute.removeErrorListener(this); attributeList.remove(attributeName); isFirstValueList.remove(attributeName.toLowerCase()); - logger.trace(ILogger.LEVEL_INFO, "\t The attribute was fired from the Collector list..."); + logger.debug("\t The attribute was fired from the Collector list..."); // informs the mother class that one new attribute must be // removed removeAttribute(attributeName); @@ -229,7 +229,7 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar // informs the mother class that one new attribute must be // managed addAttribute(attName); - logger.trace(ILogger.LEVEL_INFO, "add archiving for " + attName); + logger.debug("add archiving for " + attName); } } catch (final ConnectionException e) { final String message = GlobalConst.ARCHIVING_ERROR_PREFIX + " : " + "Failed adding '" @@ -418,11 +418,11 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + " Attribute Counters unknown "); + logger.debug(attributeName + " Attribute Counters unknown "); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -438,8 +438,7 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar } catch (final Exception e) { e.printStackTrace(); final String message = "Problem storing NumberScalar value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); try_number--; if (try_number > 0) { @@ -470,7 +469,7 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); Util.out3.println(errorMess); - super.logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); /* Must be change because the number scalar are not only double */ try { @@ -478,8 +477,8 @@ public abstract class NumberScalar extends HdbCollector implements INumberScalar getNullValueScalarEvent(errorEvent, ((AAttribute) errorEvent.getSource()).getTangoDataType(), getWritableValue()), tryNumber); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RO.java b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RO.java index 9f44bfd6b61c3e76b8ae6a4eda73f1bb8c751f2c..a0553c5429ee43187a866d61fce698290c15a9c0 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RO.java +++ b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RO.java @@ -58,6 +58,8 @@ package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -68,7 +70,6 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.TangoDs.TangoConst; import fr.esrf.tangoatk.core.NumberScalarEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -79,8 +80,8 @@ public class NumberScalar_RO extends NumberScalar { */ private static final long serialVersionUID = -1349983513031046797L; - public NumberScalar_RO(final HdbModeHandler modeHandler) { - super(modeHandler); + public NumberScalar_RO(final HdbModeHandler modeHandler, Logger logger) { + super(modeHandler, logger); } @Override @@ -157,8 +158,7 @@ public class NumberScalar_RO extends NumberScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in NumberScalar_RO/numberScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RW.java b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RW.java index 25cb3d6dc9b1926d2fd50c46e555fac2ac2d08ca..b18804690a3ca340b55d3142af248b6366a6ca44 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RW.java +++ b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_RW.java @@ -61,6 +61,8 @@ package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -71,7 +73,6 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.TangoDs.TangoConst; import fr.esrf.tangoatk.core.NumberScalarEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -79,14 +80,13 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; //ELETTRA : Archiving Events //--------------------------------------------------------------------------// public class NumberScalar_RW extends NumberScalar { - /** * */ private static final long serialVersionUID = -5039552396416573704L; - public NumberScalar_RW(final HdbModeHandler modeHandler) { - super(modeHandler); + public NumberScalar_RW(final HdbModeHandler modeHandler, Logger logger) { + super(modeHandler, logger); } @Override @@ -182,8 +182,7 @@ public class NumberScalar_RW extends NumberScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in NumberScalar_RW/numberScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_WO.java b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_WO.java index 03dbd68354f8fdde35298260ffbccded9212ec8e..d092826fb4ac1f70a27f189a9083ad5d16aa10a9 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_WO.java +++ b/src/main/java/HdbArchiver/Collector/scalar/NumberScalar_WO.java @@ -54,6 +54,8 @@ //-====================================================================== package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -64,19 +66,17 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.TangoDs.TangoConst; import fr.esrf.tangoatk.core.NumberScalarEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class NumberScalar_WO extends NumberScalar { - /** * */ private static final long serialVersionUID = 3795129767870099591L; - public NumberScalar_WO(final HdbModeHandler modeHandler) { - super(modeHandler); + public NumberScalar_WO(final HdbModeHandler modeHandler, Logger logger) { + super(modeHandler, logger); } @Override @@ -140,8 +140,7 @@ public class NumberScalar_WO extends NumberScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in NumberScalar_RW/numberScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/StateScalar.java b/src/main/java/HdbArchiver/Collector/scalar/StateScalar.java index 401792d1f2ce8ffe377365e8819df4e909b14451..19c8542149844128103b598e354fbcaf80bd01c4 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/StateScalar.java +++ b/src/main/java/HdbArchiver/Collector/scalar/StateScalar.java @@ -29,6 +29,8 @@ package HdbArchiver.Collector.scalar; import java.util.HashMap; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; @@ -47,14 +49,12 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IDevStateScalar; import fr.esrf.tangoatk.core.IDevStateScalarListener; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public abstract class StateScalar extends HdbCollector implements IDevStateScalarListener, ITangoArchiveListener { - /** * */ @@ -62,8 +62,8 @@ public abstract class StateScalar extends HdbCollector implements IDevStateScala private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public StateScalar(final HdbModeHandler _modeHandler) { - super(_modeHandler); + public StateScalar(final HdbModeHandler _modeHandler, Logger logger) { + super(_modeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -125,7 +125,7 @@ public abstract class StateScalar extends HdbCollector implements IDevStateScala // informs the mother class that one new attribute must be // managed addAttribute(attName); - logger.trace(ILogger.LEVEL_INFO, "add archiving for " + attName); + logger.debug("add archiving for " + attName); } } catch (final ConnectionException e) { @@ -303,12 +303,12 @@ public abstract class StateScalar extends HdbCollector implements IDevStateScala if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + "attribute Counters unknown"); + logger.debug(attributeName + "attribute Counters unknown"); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -322,8 +322,7 @@ public abstract class StateScalar extends HdbCollector implements IDevStateScala setLastValue(scalarEvent, scalarEvent.getReadValue()); } catch (final Exception e) { final String message = "Problem storing StateScalar value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); try_number--; if (try_number > 0) { @@ -358,14 +357,14 @@ public abstract class StateScalar extends HdbCollector implements IDevStateScala final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); Util.out3.println(errorMess); - super.logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); try { processEventScalar(getNullValueScalarEvent(errorEvent, TangoConst.Tango_DEV_STATE, getWritableValue()), tryNumber); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/StateScalar_RO.java b/src/main/java/HdbArchiver/Collector/scalar/StateScalar_RO.java index d1faeab0ce41f0605cca3e3ad141b9c88da29469..7007874df4ab183516597ecaf4637c64eeedf7aa 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/StateScalar_RO.java +++ b/src/main/java/HdbArchiver/Collector/scalar/StateScalar_RO.java @@ -26,6 +26,8 @@ //-====================================================================== package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -37,7 +39,6 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.tangoatk.core.DevStateScalarEvent; import fr.esrf.tangoatk.core.IDevStateScalar; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -45,14 +46,13 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; //ELETTRA : Archiving Events //--------------------------------------------------------------------------// public class StateScalar_RO extends StateScalar { - /** * */ private static final long serialVersionUID = 5259826748837748125L; - public StateScalar_RO(final HdbModeHandler _modeHandler) { - super(_modeHandler); + public StateScalar_RO(final HdbModeHandler _modeHandler, Logger logger) { + super(_modeHandler, logger); } @Override @@ -104,8 +104,7 @@ public class StateScalar_RO extends StateScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in StateScalar_RO/devStateScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/StringScalar.java b/src/main/java/HdbArchiver/Collector/scalar/StringScalar.java index d11e826d69713d8ad08012296395f3e68579e0bd..2e002588f3f508a94d02351dfda7599088b4eaee 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/StringScalar.java +++ b/src/main/java/HdbArchiver/Collector/scalar/StringScalar.java @@ -29,6 +29,8 @@ package HdbArchiver.Collector.scalar; import java.util.HashMap; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; @@ -47,7 +49,6 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IStringScalar; import fr.esrf.tangoatk.core.IStringScalarListener; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; @@ -64,8 +65,8 @@ public abstract class StringScalar extends HdbCollector implements IStringScalar private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public StringScalar(final HdbModeHandler _modeHandler) { - super(_modeHandler); + public StringScalar(final HdbModeHandler _modeHandler, Logger logger) { + super(_modeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -124,7 +125,7 @@ public abstract class StringScalar extends HdbCollector implements IStringScalar // informs the mother class that one new attribute must be // managed addAttribute(attName); - logger.trace(ILogger.LEVEL_INFO, "add archiving for " + attName); + logger.debug("add archiving for " + attName); } } catch (final ConnectionException e) { final String message = GlobalConst.ARCHIVING_ERROR_PREFIX + " : " + "Failed adding '" @@ -307,12 +308,12 @@ public abstract class StringScalar extends HdbCollector implements IStringScalar if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + " Attribute Counters unknown"); + logger.debug(attributeName + " Attribute Counters unknown"); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -326,8 +327,7 @@ public abstract class StringScalar extends HdbCollector implements IStringScalar setLastValue(scalarEvent, scalarEvent.getReadValue()); } catch (final Exception e) { final String message = "Problem storing StringScalar value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message); try_number--; if (try_number > 0) { @@ -357,14 +357,14 @@ public abstract class StringScalar extends HdbCollector implements IStringScalar final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); Util.out3.println(errorMess); - super.logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); try { processEventScalar(getNullValueScalarEvent(errorEvent, TangoConst.Tango_DEV_STRING, getWritableValue()), tryNumber); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RO.java b/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RO.java index b3bc30a5ade064774052085fe6ffeab8b6a6fe96..1cf0ce456f2996b0fb2cd0ffa2c3e78bf1d1cc68 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RO.java +++ b/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RO.java @@ -26,6 +26,8 @@ //-====================================================================== package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -36,19 +38,17 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.tangoatk.core.IStringScalar; import fr.esrf.tangoatk.core.StringScalarEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class StringScalar_RO extends StringScalar { - /** * */ private static final long serialVersionUID = -7481960847950899978L; - public StringScalar_RO(final HdbModeHandler _modeHandler) { - super(_modeHandler); + public StringScalar_RO(final HdbModeHandler _modeHandler, Logger logger) { + super(_modeHandler, logger); } @Override @@ -56,6 +56,7 @@ public class StringScalar_RO extends StringScalar { return AttrWriteType._READ; } + @Override public void stringScalarChange(final StringScalarEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; final ScalarEvent scalarEvent = new ScalarEvent(); @@ -83,18 +84,16 @@ public class StringScalar_RO extends StringScalar { processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - System.err.println("StringScalar_RO.stringScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); - printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, scalarEvent - .getAttribute_complete_name(), devFailed); + System.err.println("StringScalar_RO.stringScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + scalarEvent.getAttribute_complete_name(), devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("StringScalar_RO.stringScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + System.err.println("StringScalar_RO.stringScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + ", source " + event.getSource()); exE.printStackTrace(); final Object value = null; @@ -102,8 +101,7 @@ public class StringScalar_RO extends StringScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in StringScalar_RO/stringScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } @@ -111,6 +109,7 @@ public class StringScalar_RO extends StringScalar { // --------------------------------------------------------------------------// // ELETTRA : Archiving Events // --------------------------------------------------------------------------// + @Override public void archive(final TangoArchiveEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; DeviceAttribute attrib = null; @@ -129,8 +128,7 @@ public class StringScalar_RO extends StringScalar { return; } catch (final Exception e) /* Shouldn't be reached */ { - System.out - .println("StateScalar_RO.archive.getValue() failed, caught generic Exception, code failure"); + System.out.println("StateScalar_RO.archive.getValue() failed, caught generic Exception, code failure"); e.printStackTrace(); return; } @@ -147,8 +145,7 @@ public class StringScalar_RO extends StringScalar { .println("\033[1;31mStringScalar_RO.java: event.getValue() or event.getSource() or event.getSource().getEventSupplier()) returned null!\033[0m"); return; } - System.out.print(proxy.name() + ": " + attrib.getName() - + "{string scalar, RO} [\033[1;32mEVENT\033[0m]: "); + System.out.print(proxy.name() + ": " + attrib.getName() + "{string scalar, RO} [\033[1;32mEVENT\033[0m]: "); scalarEvent.setAttribute_complete_name(proxy.name() + "/" + attrib.getName()); scalarEvent.setTimeStamp(attrib.getTime()); @@ -164,16 +161,14 @@ public class StringScalar_RO extends StringScalar { scalarEvent.setValue(svalue); /* complete the scalarEvent */ processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - print_exception("StringScalar_RO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values...", devFailed); + print_exception("StringScalar_RO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values...", devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("StringScalar_RO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); + System.err.println("StringScalar_RO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); exE.printStackTrace(); final Object value = null; scalarEvent.setValue(value); diff --git a/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RW.java b/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RW.java index 5db2cfd42429f6de8974e3ae26046673150ddee5..5f1a4f14c9bf398ddd0ef2c5467a38fbfb332581 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RW.java +++ b/src/main/java/HdbArchiver/Collector/scalar/StringScalar_RW.java @@ -26,6 +26,8 @@ //-====================================================================== package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -36,20 +38,18 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.tangoatk.core.IStringScalar; import fr.esrf.tangoatk.core.StringScalarEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.StringFormater; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class StringScalar_RW extends StringScalar { - /** * */ private static final long serialVersionUID = -6664045409944983610L; - public StringScalar_RW(final HdbModeHandler _modeHandler) { - super(_modeHandler); + public StringScalar_RW(final HdbModeHandler _modeHandler, Logger logger) { + super(_modeHandler, logger); } @Override @@ -57,6 +57,7 @@ public class StringScalar_RW extends StringScalar { return AttrWriteType._READ_WRITE; } + @Override public void stringScalarChange(final StringScalarEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; final ScalarEvent scalarEvent = new ScalarEvent(); @@ -86,18 +87,16 @@ public class StringScalar_RW extends StringScalar { processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - System.err.println("StringScalar_RW.stringScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); - printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, scalarEvent - .getAttribute_complete_name(), devFailed); + System.err.println("StringScalar_RW.stringScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + scalarEvent.getAttribute_complete_name(), devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("StringScalar_RW.stringScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + System.err.println("StringScalar_RW.stringScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + ", source " + event.getSource()); exE.printStackTrace(); final Object value = null; @@ -105,8 +104,7 @@ public class StringScalar_RW extends StringScalar { processEventScalar(scalarEvent, tryNumber); final String message = "Problem in StringScalar_RW/stringScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } @@ -114,6 +112,7 @@ public class StringScalar_RW extends StringScalar { // ELETTRA : Archiving Events // --------------------------------------------------------------------------// /* Invoked on the reception of a tango archive event. */ + @Override public void archive(final TangoArchiveEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; DeviceAttribute attrib = null; @@ -132,8 +131,7 @@ public class StringScalar_RW extends StringScalar { return; } catch (final Exception e) /* Shouldn't be reached */ { - System.out - .println("StringScalar_RW.archive.getValue() failed, caught generic Exception, code failure"); + System.out.println("StringScalar_RW.archive.getValue() failed, caught generic Exception, code failure"); e.printStackTrace(); return; } @@ -154,8 +152,8 @@ public class StringScalar_RW extends StringScalar { .println("\033[1;31mStringScalar_RW.java: event.getValue() or event.getSource() or event.getSource().getEventSupplier()) returned null!\033[0m"); return; } - System.out.println("\033[1;35marchive() [String Scalar RW]: [EVENT]: \033[1;32m" - + proxy.name() + "/" + attrib.getName() + "\033[0m"); + System.out.println("\033[1;35marchive() [String Scalar RW]: [EVENT]: \033[1;32m" + proxy.name() + "/" + + attrib.getName() + "\033[0m"); scalarEvent.setAttribute_complete_name(proxy.name() + "/" + attrib.getName()); scalarEvent.setTimeStamp(attrib.getTime()); @@ -171,25 +169,21 @@ public class StringScalar_RW extends StringScalar { svalue[i] = value; } - System.out.print(proxy.name() + ": " + attrib.getName() - + "{string scalar, RW} [\033[1;32mEVENT\033[0m]: "); + System.out.print(proxy.name() + ": " + attrib.getName() + "{string scalar, RW} [\033[1;32mEVENT\033[0m]: "); - System.out.println("\033[1;35m(R): " + svalue[0] + "\033[0m, (Set):\033[1;36m " - + svalue[1] + "\033[0m"); + System.out.println("\033[1;35m(R): " + svalue[0] + "\033[0m, (Set):\033[1;36m " + svalue[1] + "\033[0m"); scalarEvent.setValue(svalue); /* complete the scalarEvent */ processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - print_exception("StringScalar_RW.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values...", devFailed); + print_exception("StringScalar_RW.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values...", devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("StringScalar_RW.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); + System.err.println("StringScalar_RW.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); exE.printStackTrace(); final Object value = null; scalarEvent.setValue(value); diff --git a/src/main/java/HdbArchiver/Collector/scalar/StringScalar_WO.java b/src/main/java/HdbArchiver/Collector/scalar/StringScalar_WO.java index ffc6cc6c2ae35793920b225e0f284a2a2eec5d98..c876a0357f81ce2132b88e1080f78c3b7f8ca9c6 100644 --- a/src/main/java/HdbArchiver/Collector/scalar/StringScalar_WO.java +++ b/src/main/java/HdbArchiver/Collector/scalar/StringScalar_WO.java @@ -26,6 +26,8 @@ //-====================================================================== package HdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import HdbArchiver.Collector.HdbModeHandler; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; @@ -36,7 +38,6 @@ import fr.esrf.TangoApi.events.TangoArchive; import fr.esrf.TangoApi.events.TangoArchiveEvent; import fr.esrf.tangoatk.core.IStringScalar; import fr.esrf.tangoatk.core.StringScalarEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -44,14 +45,13 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; //ELETTRA : Archiving Events //--------------------------------------------------------------------------// public class StringScalar_WO extends StringScalar { - /** * */ private static final long serialVersionUID = 4420340668566890187L; - public StringScalar_WO(final HdbModeHandler _modeHandler) { - super(_modeHandler); + public StringScalar_WO(final HdbModeHandler _modeHandler, Logger logger) { + super(_modeHandler, logger); } @Override @@ -59,6 +59,7 @@ public class StringScalar_WO extends StringScalar { return AttrWriteType._WRITE; } + @Override public void stringScalarChange(final StringScalarEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; final ScalarEvent scalarEvent = new ScalarEvent(); @@ -77,27 +78,24 @@ public class StringScalar_WO extends StringScalar { processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - System.err.println("StringScalar_WO.stringScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + System.err.println("StringScalar_WO.stringScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values. Event : " + event + ", source " + event.getSource()); - printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, scalarEvent - .getAttribute_complete_name(), devFailed); + printException(GlobalConst.DATA_TYPE_EXCEPTION, AttrDataFormat._SCALAR, + scalarEvent.getAttribute_complete_name(), devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("StringScalar_WO.stringScalarChange : " - + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); + System.err.println("StringScalar_WO.stringScalarChange : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); exE.printStackTrace(); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); final String message = "Problem in StringScalar_WO/stringScalarChange"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, exE); + logger.error(message, exE); } } @@ -110,6 +108,7 @@ public class StringScalar_WO extends StringScalar { * * manages archive events for StringScalar, Write Only. */ + @Override public void archive(final TangoArchiveEvent event) { final int tryNumber = DEFAULT_TRY_NUMBER; DeviceAttribute attrib = null; @@ -128,8 +127,7 @@ public class StringScalar_WO extends StringScalar { return; } catch (final Exception e) /* Shouldn't be reached */ { - System.out - .println("StringScalar_WO.archive.getValue() failed, caught generic Exception, code failure"); + System.out.println("StringScalar_WO.archive.getValue() failed, caught generic Exception, code failure"); e.printStackTrace(); return; } @@ -146,8 +144,8 @@ public class StringScalar_WO extends StringScalar { .println("\033[1;31mStringScalar_WO.java: event.getValue() or event.getSource() or event.getSource().getEventSupplier()) returned null!\033[0m"); return; } - System.out.println("\033[1;35marchive() [String Scalar WO]: [EVENT]: \033[1;32m" - + proxy.name() + "/" + attrib.getName() + "\033[0m"); + System.out.println("\033[1;35marchive() [String Scalar WO]: [EVENT]: \033[1;32m" + proxy.name() + "/" + + attrib.getName() + "\033[0m"); scalarEvent.setAttribute_complete_name(proxy.name() + "/" + attrib.getName()); scalarEvent.setTimeStamp(attrib.getTime()); scalarEvent.setData_format(AttrDataFormat._SCALAR); @@ -161,16 +159,14 @@ public class StringScalar_WO extends StringScalar { scalarEvent.setValue(svalue); /* complete the scalarEvent */ processEventScalar(scalarEvent, tryNumber); } catch (final DevFailed devFailed) { - print_exception("StringScalar_WO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values...", devFailed); + print_exception("StringScalar_WO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values...", devFailed); final Object value = null; scalarEvent.setValue(value); processEventScalar(scalarEvent, tryNumber); } catch (final Exception exE) { - System.err.println("StringScalar_WO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX - + "\r\n\t" + "Problem while reading " - + scalarEvent.getAttribute_complete_name() + " values..."); + System.err.println("StringScalar_WO.archive() : " + GlobalConst.ARCHIVING_ERROR_PREFIX + "\r\n\t" + + "Problem while reading " + scalarEvent.getAttribute_complete_name() + " values..."); exE.printStackTrace(); final Object value = null; scalarEvent.setValue(value); diff --git a/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RO.java b/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RO.java index c7c20000049b3f10ec0fc6be20335810ecf9fc03..9ea3735c1e9bca83066ed3a1451dea0388f9a78b 100644 --- a/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RO.java +++ b/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RO.java @@ -101,6 +101,8 @@ package HdbArchiver.Collector.spectrum; import java.util.HashMap; +import org.slf4j.Logger; + import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; import HdbArchiver.Collector.HdbModeHandler; @@ -123,22 +125,20 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IBooleanSpectrum; import fr.esrf.tangoatk.core.IBooleanSpectrumListener; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RO; public class BooleanSpectrum_RO extends HdbCollector implements IBooleanSpectrumListener, ITangoArchiveListener { - /** * */ private static final long serialVersionUID = -8045243244002335732L; private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public BooleanSpectrum_RO(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public BooleanSpectrum_RO(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -476,8 +476,7 @@ public class BooleanSpectrum_RO extends HdbCollector implements IBooleanSpectrum super.setLastTimestamp(snapSpectrumEvent_RO); } catch (final ArchivingException e) { final String message = "Problem (ArchivingException) storing BooleanSpectrum_RO value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); try_number--; if (try_number > 0) { diff --git a/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RW.java b/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RW.java index 7c254b2d7f990810f215249496ffec395d381418..211bedb487571f6291d7934045648ccdca5945f7 100644 --- a/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RW.java +++ b/src/main/java/HdbArchiver/Collector/spectrum/BooleanSpectrum_RW.java @@ -29,6 +29,8 @@ package HdbArchiver.Collector.spectrum; import java.util.HashMap; +import org.slf4j.Logger; + import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; import HdbArchiver.Collector.HdbModeHandler; @@ -51,22 +53,20 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IBooleanSpectrum; import fr.esrf.tangoatk.core.IBooleanSpectrumListener; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RW; public class BooleanSpectrum_RW extends HdbCollector implements IBooleanSpectrumListener, ITangoArchiveListener { - /** * */ private static final long serialVersionUID = -2171385818699543901L; private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public BooleanSpectrum_RW(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public BooleanSpectrum_RW(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -411,8 +411,7 @@ public class BooleanSpectrum_RW extends HdbCollector implements IBooleanSpectrum super.setLastTimestamp(snapSpectrumEvent_RW); } catch (final ArchivingException e) { final String message = "Problem (ArchivingException) storing BooleanSpectrum_RW value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); Util.out4.println("BooleanSpectrumEvent_RW.processEventSpectrum/ArchivingException"); diff --git a/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RO.java b/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RO.java index 68dd050a7a551273d91a4315eaaec31e4c8b2c10..8792a7ef12283919da1901d4389efbb6536abe72 100644 --- a/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RO.java +++ b/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RO.java @@ -104,6 +104,8 @@ package HdbArchiver.Collector.spectrum; import java.util.HashMap; +import org.slf4j.Logger; + import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; import HdbArchiver.Collector.HdbModeHandler; @@ -127,22 +129,20 @@ import fr.esrf.tangoatk.core.INumberSpectrum; import fr.esrf.tangoatk.core.ISpectrumListener; import fr.esrf.tangoatk.core.NumberSpectrumEvent; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RO; public class NumberSpectrum_RO extends HdbCollector implements ISpectrumListener, ITangoArchiveListener { - /** * */ private static final long serialVersionUID = -763959549098327291L; private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public NumberSpectrum_RO(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public NumberSpectrum_RO(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -548,8 +548,7 @@ public class NumberSpectrum_RO extends HdbCollector implements ISpectrumListener super.setLastTimestamp(snapSpectrumEvent_RO); } catch (final ArchivingException e) { final String message = "Problem (ArchivingException) storing NumberSpectrum_RO value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); try_number--; if (try_number > 0) { diff --git a/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RW.java b/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RW.java index 4fec5b6a87bf01e0111821bfa3c1785777fcd494..f17a59536c135aee68cbe0e92c7f65665b479d04 100644 --- a/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RW.java +++ b/src/main/java/HdbArchiver/Collector/spectrum/NumberSpectrum_RW.java @@ -28,6 +28,8 @@ package HdbArchiver.Collector.spectrum; import java.util.HashMap; +import org.slf4j.Logger; + import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; import HdbArchiver.Collector.HdbModeHandler; @@ -51,22 +53,20 @@ import fr.esrf.tangoatk.core.INumberSpectrum; import fr.esrf.tangoatk.core.ISpectrumListener; import fr.esrf.tangoatk.core.NumberSpectrumEvent; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RW; public class NumberSpectrum_RW extends HdbCollector implements ISpectrumListener, ITangoArchiveListener { - /** * */ private static final long serialVersionUID = 6326850167925075893L; private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public NumberSpectrum_RW(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public NumberSpectrum_RW(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -470,8 +470,7 @@ public class NumberSpectrum_RW extends HdbCollector implements ISpectrumListener super.setLastTimestamp(snapSpectrumEvent_RW); } catch (final ArchivingException e) { final String message = "Problem (ArchivingException) storing NumberSpectrum_RW value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); Util.out4.println("SpectrumEvent_RW.processEventSpectrum/ArchivingException"); diff --git a/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RO.java b/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RO.java index de3aa796ecea3fa1b57e883b482bb3248040d17c..2dc6e74070c887f3b7edd744182d56e6c3579217 100644 --- a/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RO.java +++ b/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RO.java @@ -101,6 +101,8 @@ package HdbArchiver.Collector.spectrum; import java.util.HashMap; +import org.slf4j.Logger; + import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; import HdbArchiver.Collector.HdbModeHandler; @@ -123,22 +125,20 @@ import fr.esrf.tangoatk.core.IStringSpectrum; import fr.esrf.tangoatk.core.IStringSpectrumListener; import fr.esrf.tangoatk.core.StringSpectrumEvent; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RO; public class StringSpectrum_RO extends HdbCollector implements IStringSpectrumListener, ITangoArchiveListener { - /** * */ private static final long serialVersionUID = -5473011082627947920L; private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public StringSpectrum_RO(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public StringSpectrum_RO(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -466,8 +466,7 @@ public class StringSpectrum_RO extends HdbCollector implements IStringSpectrumLi super.setLastTimestamp(snapSpectrumEvent_RO); } catch (final ArchivingException e) { final String message = "Problem (ArchivingException) storing StringSpectrum_RO value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); try_number--; if (try_number > 0) { diff --git a/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RW.java b/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RW.java index f8f968c9c438446dda0dbcf730376b360128722e..e0105f03bd7c430ccaba258b1bbf132e930b8c34 100644 --- a/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RW.java +++ b/src/main/java/HdbArchiver/Collector/spectrum/StringSpectrum_RW.java @@ -29,6 +29,7 @@ package HdbArchiver.Collector.spectrum; import java.util.HashMap; import org.apache.commons.lang.ArrayUtils; +import org.slf4j.Logger; import HdbArchiver.HdbArchiver; import HdbArchiver.Collector.HdbCollector; @@ -52,7 +53,6 @@ import fr.esrf.tangoatk.core.IStringSpectrum; import fr.esrf.tangoatk.core.IStringSpectrumListener; import fr.esrf.tangoatk.core.StringSpectrumEvent; import fr.esrf.tangoatk.core.attribute.AttributeFactory; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; @@ -66,8 +66,8 @@ public class StringSpectrum_RW extends HdbCollector implements IStringSpectrumLi private static final long serialVersionUID = 5320159634498744542L; private final HashMap<Device, TangoEventsAdapter> evtAdaptHMap; - public StringSpectrum_RW(final HdbModeHandler hdbModeHandler) { - super(hdbModeHandler); + public StringSpectrum_RW(final HdbModeHandler hdbModeHandler, Logger logger) { + super(hdbModeHandler, logger); evtAdaptHMap = new HashMap<Device, TangoEventsAdapter>(); } @@ -401,8 +401,7 @@ public class StringSpectrum_RW extends HdbCollector implements IStringSpectrumLi super.setLastTimestamp(snapSpectrumEvent_RW); } catch (final ArchivingException e) { final String message = "Problem (ArchivingException) storing StringSpectrum_RW value"; - super.logger.trace(ILogger.LEVEL_ERROR, message); - super.logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); Util.out4.println("StringSpectrumEvent_RW.processEventSpectrum/ArchivingException"); diff --git a/src/main/java/HdbArchiver/HdbArchiver.java b/src/main/java/HdbArchiver/HdbArchiver.java index 4b197135e3c5f08f20eb6167e50d74c7ea71edaa..5833a7acc7f853d44f21c4c23cd578d5e1ac2f86 100644 --- a/src/main/java/HdbArchiver/HdbArchiver.java +++ b/src/main/java/HdbArchiver/HdbArchiver.java @@ -358,6 +358,7 @@ package HdbArchiver; +import java.io.IOException; import java.sql.Timestamp; import java.util.Arrays; import java.util.Enumeration; @@ -370,6 +371,7 @@ import java.util.concurrent.Executors; import org.omg.CORBA.SystemException; import org.omg.CORBA.UserException; +import org.slf4j.Logger; import org.tango.utils.DevFailedUtils; import HdbArchiver.Collector.DbProxy; @@ -385,9 +387,8 @@ import fr.esrf.TangoDs.DeviceImpl; import fr.esrf.TangoDs.Except; import fr.esrf.TangoDs.TangoConst; import fr.esrf.TangoDs.Util; +import fr.soleil.archiving.utils.LoggingUtils; import fr.soleil.archiving.utils.TangoStateUtils; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.LoggerFactory; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst; import fr.soleil.hdbtdbArchivingApi.ArchivingManagerApi.ArchivingManagerApiRef; @@ -547,7 +548,7 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { private final Set<String> koAttributes = new HashSet<String>(); private final Set<String> okAttributes = new HashSet<String>(); - private fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger logger; + private Logger logger; private String dbSchema; private boolean isHighRate; // -------------------------------------- @@ -611,41 +612,44 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { get_logger().info("HdbArchiver() create " + device_name); - collectorFactory = new HdbCollectorFactory(); // Initialise variables to default values // ------------------------------------------- get_device_property(); + try { + logger = LoggingUtils.configureLogging(device_name, hasDiary, diaryPath, diaryLogLevel); + } catch (IOException e) { + TangoStateUtils.setFault(this, "logging configuration failed"); + } + + collectorFactory = new HdbCollectorFactory(logger); attr_image_charge_read = 0; attr_spectrum_charge_read = 0; attr_scalar_charge_read = 0; koAttributes.clear(); okAttributes.clear(); - get_logger().info("DbHost = " + dbHost); - get_logger().info("DbName = " + dbName); - get_logger().info("dbUser = " + dbUser); - get_logger().info("DbPassword = " + dbPassword); - get_logger().info("RacConnection = " + RacConnection); - get_logger().info("HasThreadedStartup = " + hasThreadedStartup); - get_logger().info("isDedicated = " + isDedicated); - get_logger().info("reservedAttributes = " + Arrays.toString(reservedAttributes)); - get_logger().info("diaryPath = " + diaryPath); - get_logger().info("hasDiary = " + hasDiary); - get_logger().info("diaryLogLevel = " + diaryLogLevel); - - // DBTools.setWarnable(this); - - logger = LoggerFactory.getImpl(device_name, diaryPath, hasDiary); - logger.setTraceLevel(diaryLogLevel); - dbProxy = new DbProxy(logger, dbHost, dbName, dbSchema, dbUser, dbPassword, RacConnection); - if (!dbProxy.is_db_connected()) { - TangoStateUtils.setFault(this, "Historical database connection failed"); - get_logger().error("ERROR : Database unconnected !!"); - } else { + logger.info("DbHost = " + dbHost); + logger.info("DbName = " + dbName); + logger.info("dbUser = " + dbUser); + logger.info("DbPassword = " + dbPassword); + logger.info("RacConnection = " + RacConnection); + logger.info("HasThreadedStartup = " + hasThreadedStartup); + logger.info("isDedicated = " + isDedicated); + logger.info("reservedAttributes = " + Arrays.toString(reservedAttributes)); + logger.info("diaryPath = " + diaryPath); + logger.info("hasDiary = " + hasDiary); + logger.info("diaryLogLevel = " + diaryLogLevel); + + try { + dbProxy = new DbProxy(dbHost, dbName, dbSchema, dbUser, dbPassword, RacConnection, logger); setControlMode(safetyPeriod); // start archiving in a thread Executors.newSingleThreadExecutor().submit(new InitDeviceTask()); + } catch (ArchivingException e) { + TangoStateUtils.setFault(this, "Historical database connection failed: " + e); + logger.error("ERROR : Database unconnected !!", e); } + logger.debug("init done"); } /** @@ -676,7 +680,7 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { try { myCurrentTasks = dbProxy.getArchiverCurrentTasks(device_name); } catch (ArchivingException e) { - logger.trace(ILogger.LEVEL_ERROR, "cannot getArchiverCurrentTasks " + e); + logger.debug("cannot getArchiverCurrentTasks " + e); TangoStateUtils.setFault(HdbArchiver.this, e.getMessage()); } @@ -745,7 +749,7 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { reservedAttributes = null; diaryPath = null; hasDiary = false; - diaryLogLevel = ILogger.DEBUG; + diaryLogLevel = "DEBUG"; isHighRate = false; // Read device properties from database.(Automatic code generation) @@ -1030,11 +1034,11 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { private void triggerArchiving(final String[] argin, final boolean updateAMTTable) throws DevFailed { TangoStateUtils.setRunning(this); - logger.trace(ILogger.LEVEL_INFO, "trigger_archive_conf - in"); + logger.debug("trigger_archive_conf - in"); final ArchivingException archivingException = new ArchivingException(); final ArchivingMessConfig archivingMessConfig = ArchivingMessConfig.creationWithFullInformation(argin); - archivingMessConfig.filter(isDedicated, reservedAttributes, logger); + archivingMessConfig.filter(isDedicated, reservedAttributes); for (final Enumeration<String> my_EnumAttributes = archivingMessConfig.getAttributeListKeys(); my_EnumAttributes .hasMoreElements();) { final String attributeName = String.valueOf(my_EnumAttributes.nextElement()); @@ -1044,7 +1048,7 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { attributeLightMode.setTrigger_time(new Timestamp(System.currentTimeMillis())); boolean attSupport = false; final String attCompleteName = attributeLightMode.getAttribute_complete_name(); - logger.trace(ILogger.LEVEL_INFO, "managing " + attCompleteName); + logger.debug("managing " + attCompleteName); try { attSupport = AttributeSupport.checkAttributeSupport(attCompleteName, attributeLightMode.getData_type(), attributeLightMode.getData_format(), attributeLightMode.getWritable()); @@ -1088,29 +1092,29 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { // start collector final HdbCollector m_collector = collectorFactory.get(attributeLightMode); if (m_collector == null) { - logger.trace(ILogger.LEVEL_INFO, "createCollectorAndAddSource " + attCompleteName); - collectorFactory.createCollectorAndAddSource(attributeLightMode, logger, dbProxy); + logger.debug("createCollectorAndAddSource " + attCompleteName); + collectorFactory.createCollectorAndAddSource(attributeLightMode, dbProxy); } else { - logger.trace(ILogger.LEVEL_INFO, "addSource " + attCompleteName); + logger.debug("addSource " + attCompleteName); m_collector.addSource(attributeLightMode); } // update AMT table in db with attribute config if (updateAMTTable) { if (dbProxy.isArchived(attCompleteName, device_name)) { - logger.trace(ILogger.LEVEL_INFO, "updateModeRecord - in"); + logger.debug("updateModeRecord - in"); dbProxy.updateModeRecord(attCompleteName); - logger.trace(ILogger.LEVEL_INFO, "updateModeRecord - out"); + logger.debug("updateModeRecord - out"); } - logger.trace(ILogger.LEVEL_INFO, "insertModeRecord - in"); + logger.debug("insertModeRecord - in"); dbProxy.insertModeRecord(attributeLightMode); - logger.trace(ILogger.LEVEL_INFO, "insertModeRecord - out"); + logger.debug("insertModeRecord - out"); } // update period in dbProxy, used in cmd // retry_for_ko_attributes final int period = attributeLightMode.getMode().getModeP().getPeriod(); - logger.trace(ILogger.LEVEL_INFO, attCompleteName + "'s period is " + period); + logger.debug(attCompleteName + "'s period is " + period); dbProxy.setPeriodForAttribute(attCompleteName, period); // --------------------------------------------------------------------------// @@ -1133,7 +1137,7 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { } okAttributes.add(attCompleteName.toLowerCase()); koAttributes.remove(attCompleteName.toLowerCase()); - logger.trace(ILogger.LEVEL_INFO, "OK: " + attCompleteName); + logger.debug("OK: " + attCompleteName); } catch (final ArchivingException e) { try { collectorFactory.remove(attCompleteName); @@ -1142,10 +1146,10 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { e.printStackTrace(); final String message = GlobalConst.ARCHIVING_ERROR_PREFIX + " : "; archivingException.addStack(message, e); - logger.trace(ILogger.LEVEL_ERROR, e); + logger.error("start failed", e); koAttributes.add(attCompleteName.toLowerCase()); okAttributes.remove(attCompleteName.toLowerCase()); - logger.trace(ILogger.LEVEL_INFO, "KO: " + attCompleteName); + logger.error("KO: " + attCompleteName); } catch (Exception e) { try { collectorFactory.remove(attCompleteName); @@ -1154,17 +1158,17 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { koAttributes.add(attCompleteName.toLowerCase()); okAttributes.remove(attCompleteName.toLowerCase()); e.printStackTrace(); - logger.trace(ILogger.LEVEL_ERROR, "KO " + attCompleteName + " unexpected " + e); + logger.error("KO " + attCompleteName + " unexpected " + e); } } computeLoads(); if (!archivingException.getMessage().equals("")) { - logger.trace(ILogger.LEVEL_INFO, "trigger_archive_conf ERROR - out"); + logger.error("trigger_archive_conf ERROR - out"); throw archivingException.toTangoException(); } - logger.trace(ILogger.LEVEL_INFO, "trigger_archive_conf - out"); + logger.debug("trigger_archive_conf - out"); } // ========================================================= @@ -1223,14 +1227,14 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { // TangoStateUtils.isAllowed(this); // TangoStateUtils.setRunning(this); try { - logger.trace(ILogger.LEVEL_INFO, "stop_archive_conf - in"); + logger.debug("stop_archive_conf - in"); final Vector<AttributeLightMode> myConf = ArchivingManagerApiRef.stoppingVector(argin); for (int i = 0; i < myConf.size(); i++) { stop_archive_att(myConf.elementAt(i).toArray()); } } finally { - logger.trace(ILogger.LEVEL_INFO, "stop_archive_conf - out"); + logger.debug("stop_archive_conf - out"); } } @@ -1250,7 +1254,7 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { public short retry_for_attribute(final String attributeToRetry) throws DevFailed { TangoStateUtils.isAllowed(this); if (attributeToRetry == null || attributeToRetry.equals("")) { - logger.trace(ILogger.LEVEL_ERROR, "no retry done - no attribute"); + logger.debug("no retry done - no attribute"); return NA; } try { @@ -1277,17 +1281,15 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { return SUCCEEDED; } else { - logger.trace(ILogger.LEVEL_ERROR, attributeToRetry + " no retry done - config is empty"); + logger.debug(attributeToRetry + " no retry done - config is empty"); return NA; } } catch (final DevFailed e) { final String message = DBTools.getCompleteMessage(e); - logger.trace(ILogger.LEVEL_ERROR, "Failed during retry_for_attribute ( " + attributeToRetry + " ):"); - logger.trace(ILogger.LEVEL_ERROR, message); + logger.error("Failed during retry_for_attribute ( " + attributeToRetry + " ):", message); return FAILED; } catch (final ArchivingException e) { - logger.trace(ILogger.LEVEL_ERROR, "Failed during retry_for_attribute ( " + attributeToRetry + " ):"); - logger.trace(ILogger.LEVEL_ERROR, e); + logger.error("Failed during retry_for_attribute ( " + attributeToRetry + " ):", e); return FAILED; } } @@ -1355,8 +1357,8 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { } } catch (final DevFailed e) { final String message = DBTools.getCompleteMessage(e); - logger.trace(ILogger.LEVEL_ERROR, message); - logger.trace(ILogger.LEVEL_ERROR, "Failed during retry_for_attributes ( " + argsBuffer.toString() + " ):"); + logger.error(message); + logger.error("Failed during retry_for_attributes ( " + argsBuffer.toString() + " ):"); return FAILED; } catch (final ArchivingException t) { final DevFailed devFailed = new DevFailed(); @@ -1364,8 +1366,8 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { devFailed.setStackTrace(t.getStackTrace()); final String message = DBTools.getCompleteMessage(devFailed); - logger.trace(ILogger.LEVEL_ERROR, message); - logger.trace(ILogger.LEVEL_ERROR, "Failed during retry_for_attributes ( " + argsBuffer.toString() + " ):"); + logger.error(message); + logger.error("Failed during retry_for_attributes ( " + argsBuffer.toString() + " ):"); return FAILED; } @@ -1389,12 +1391,12 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { */ // ========================================================= public short retry_for_ko_attributes() throws DevFailed { - logger.trace(ILogger.LEVEL_DEBUG, "retry_for_ko_attributes"); + logger.debug("retry_for_ko_attributes"); TangoStateUtils.isAllowed(this); try { final Vector<String>[] listOfControlledAttributes = getControlledAttributes(); final Vector<String> listOfKOAttributes = listOfControlledAttributes[0]; - logger.trace(ILogger.LEVEL_DEBUG, "retry_for_ko_attributes " + listOfKOAttributes); + logger.debug("retry_for_ko_attributes " + listOfKOAttributes); final String[] ret = new String[listOfKOAttributes.size()]; for (int i = 0; i < listOfKOAttributes.size(); i++) { ret[i] = listOfKOAttributes.elementAt(i); @@ -1403,8 +1405,8 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { return retry_for_attributes(ret); } catch (final DevFailed e) { final String message = DBTools.getCompleteMessage(e); - logger.trace(ILogger.LEVEL_ERROR, message); - logger.trace(ILogger.LEVEL_ERROR, "Failed during retry_for_ko_attributes "); + logger.error(message); + logger.error("Failed during retry_for_ko_attributes "); return FAILED; } catch (final ArchivingException t) { final DevFailed devFailed = new DevFailed(); @@ -1412,8 +1414,8 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { devFailed.setStackTrace(t.getStackTrace()); final String message = DBTools.getCompleteMessage(devFailed); - logger.trace(ILogger.LEVEL_ERROR, message); - logger.trace(ILogger.LEVEL_ERROR, "Failed during retry_for_ko_attributes "); + logger.error(message); + logger.error("Failed during retry_for_ko_attributes "); return FAILED; } @@ -1728,8 +1730,8 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { private void logRetry(final ArchivingMessConfig archivingMessConfig, final String methodName) { final String retryContent = archivingMessConfig.toString(); final String openingLine = methodName + " - retry for the following attributes"; - logger.trace(ILogger.LEVEL_INFO, openingLine); - logger.trace(ILogger.LEVEL_INFO, retryContent); + logger.debug(openingLine); + logger.debug(retryContent); } private void computeLoads() { @@ -1755,12 +1757,12 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { public void stop_archive_att(final String[] argin) throws DevFailed { TangoStateUtils.isAllowed(this); TangoStateUtils.setRunning(this); - logger.trace(ILogger.LEVEL_INFO, "stop_archive_att - in"); + logger.debug("stop_archive_att - in"); try { String attributeName = argin[0]; // final AttributeLightMode attributeLightMode = // AttributeLightMode.creationWithFullInformation(argin); - logger.trace(ILogger.LEVEL_INFO, "attribute: " + attributeName); + logger.debug("attribute: " + attributeName); if (koAttributes.contains(attributeName.toLowerCase()) || okAttributes.contains(attributeName.toLowerCase())) { // stop only if attribute is managed by this archiver @@ -1775,13 +1777,13 @@ public class HdbArchiver extends DeviceImpl implements TangoConst { DevFailedUtils.throwDevFailed(attributeName + " is not archived by this device"); } } catch (final ArchivingException e) { - logger.trace(ILogger.LEVEL_ERROR, e); + logger.error("stop failed", e); e.printStackTrace(); throw e.toTangoException(); } finally { computeLoads(); TangoStateUtils.updateState(this, koAttributes, okAttributes); - logger.trace(ILogger.LEVEL_INFO, "stop_archive_att - out"); + logger.debug("stop_archive_att - out"); } } diff --git a/src/main/java/HdbArchivingWatcher/HdbArchivingWatcher.java b/src/main/java/HdbArchivingWatcher/HdbArchivingWatcher.java index 64feb150bebc539c3927d5c3b41635801a5bc52d..03673009f7e428a5dc36b229a6dfd59fd390063a 100644 --- a/src/main/java/HdbArchivingWatcher/HdbArchivingWatcher.java +++ b/src/main/java/HdbArchivingWatcher/HdbArchivingWatcher.java @@ -28,7 +28,6 @@ import fr.esrf.TangoDs.Attribute; import fr.esrf.TangoDs.DeviceClass; import fr.esrf.TangoDs.Except; import fr.esrf.TangoDs.Util; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst; import fr.soleil.hdbtdbArchivingApi.ArchivingManagerApi.HdbArchivingManagerApiRef; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Mode.Mode; @@ -693,9 +692,7 @@ public class HdbArchivingWatcher extends AbsArchivingWatcher { } } } catch (final Exception df) { - logger.trace(ILogger.LEVEL_ERROR, "get_all_archiving_attributes/error! VVVVVVVVVVVVVVVVV"); - logger.trace(ILogger.LEVEL_ERROR, df); - logger.trace(ILogger.LEVEL_ERROR, "get_all_archiving_attributes/error! ^^^^^^^^^^^^^^^^^"); + logger.error("get_all_archiving_attributes/error! V", df); Tools.throwDevFailed(df); } return ret; diff --git a/src/main/java/HdbExtractor/HdbExtractor.java b/src/main/java/HdbExtractor/HdbExtractor.java index af836ce80fbd96434973237bf9b102393402a7c5..c42a4e8f75a19d384fd6f2cd69d1bd528082fcb4 100644 --- a/src/main/java/HdbExtractor/HdbExtractor.java +++ b/src/main/java/HdbExtractor/HdbExtractor.java @@ -1377,8 +1377,6 @@ public class HdbExtractor extends DeviceImpl e.printStackTrace(); throw e.toTangoException(); - } catch (Exception e) { - e.printStackTrace(); } } get_logger().info("Exiting get_att_data_between_dates()"); @@ -1414,7 +1412,11 @@ public class HdbExtractor extends DeviceImpl String[] values = new String[tuples.length]; for (int i = 0; i < tuples.length; i++) { timeStamps[i] = tuples[i].time; - values[i] = tuples[i].value[0].toString(); + if (tuples[i].value[0] == null) { + values[i] = "null"; + } else { + values[i] = tuples[i].value[0].toString(); + } } argout = new DevVarDoubleStringArray(timeStamps, values); } catch (final ArchivingException e) { @@ -2331,11 +2333,20 @@ public class HdbExtractor extends DeviceImpl int data_type; data_type = dbData.getData_type(); - // The STATE type attributes are translated in STRING TYPE because - // the State type is not well - // managed in Tango layers + if (data_type == TangoConst.Tango_DEV_STATE) { + // The STATE type attributes are translated in STRING TYPE because + // the State type is not well + // managed in Tango layers data_type = TangoConst.Tango_DEV_STRING; + } else if (data_type == TangoConst.Tango_DEV_USHORT || data_type == TangoConst.Tango_DEV_UCHAR) { + // U_* types are not supported by polling buffer, so use another + // supported type + data_type = TangoConst.Tango_DEV_SHORT; + } else if (data_type == TangoConst.Tango_DEV_ULONG) { + data_type = TangoConst.Tango_DEV_LONG; + } else if (data_type == TangoConst.Tango_DEV_ULONG64) { + data_type = TangoConst.Tango_DEV_LONG64; } // Create the attribute depends on DataFormat @@ -2412,6 +2423,8 @@ public class HdbExtractor extends DeviceImpl } else { tg_1.fill_attr_polling_buffer(this, random_name_1, dbData.getDataAsTimedAttrData()); } + } catch (DevFailed e) { + throw e; } catch (Exception e) { // FIXME java.lang.ArrayIndexOutOfBoundsException thrown when some // data are empty. diff --git a/src/main/java/TdbArchiver/Collector/DbProxy.java b/src/main/java/TdbArchiver/Collector/DbProxy.java index 23cd6598646bffe5e234514bec5839462908a005..457bf9d0a4be638492e26495c9e41c118044f506 100644 --- a/src/main/java/TdbArchiver/Collector/DbProxy.java +++ b/src/main/java/TdbArchiver/Collector/DbProxy.java @@ -73,7 +73,6 @@ import fr.esrf.Tango.DevFailed; import fr.esrf.Tango.ErrSeverity; import fr.esrf.TangoApi.Database; import fr.esrf.TangoDs.Util; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.DataBaseManager; @@ -84,21 +83,13 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; public class DbProxy { - private IArchivingManagerApiRef manager; - private ILogger logger; + private final IArchivingManagerApiRef manager; - public DbProxy(final ILogger logger, final String myDbHost, final String myDbName, final String mySchemaName, - final String myDbUser, final String myDbPassword, final boolean myRacConnection) { - try { - manager = ArchivingManagerApiRefFactory.getInstance(ConfigConst.TDB); - manager.ArchivingConfigureWithoutArchiverListInit(myDbHost, myDbName, mySchemaName, myDbUser, myDbPassword, - myRacConnection, false, true); - this.logger = logger; - ((TDBDataBaseManager) manager.getDataBase()).getTdbExport().setLogger(this.logger); - - } catch (final ArchivingException e) { - System.err.println(e.toString()); - } + public DbProxy(final String myDbHost, final String myDbName, final String mySchemaName, final String myDbUser, + final String myDbPassword, final boolean myRacConnection) throws ArchivingException { + manager = ArchivingManagerApiRefFactory.getInstance(ConfigConst.TDB); + manager.ArchivingConfigureWithoutArchiverListInit(myDbHost, myDbName, mySchemaName, myDbUser, myDbPassword, + myRacConnection, false, true); } public boolean is_db_connected() { diff --git a/src/main/java/TdbArchiver/Collector/TdbCollector.java b/src/main/java/TdbArchiver/Collector/TdbCollector.java index d734bc86830c9ffab4fc26507a14cbb7ca170ba6..75ea35d2988f32c8ddc7d043a1a019d8e1ac0d69 100644 --- a/src/main/java/TdbArchiver/Collector/TdbCollector.java +++ b/src/main/java/TdbArchiver/Collector/TdbCollector.java @@ -152,6 +152,8 @@ import java.util.Hashtable; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import org.slf4j.Logger; + import Common.Archiver.Collector.ArchiverCollector; import TdbArchiver.Collector.Tools.FileTools; import fr.esrf.Tango.AttrWriteType; @@ -160,7 +162,6 @@ import fr.esrf.TangoDs.Util; import fr.esrf.tangoatk.core.ConnectionException; import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IEntity; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingEvent; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; @@ -207,8 +208,8 @@ public abstract class TdbCollector extends ArchiverCollector { private final AttrWriteType writableType; public TdbCollector(final TdbModeHandler _modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(_modeHandler); + final AttrWriteType writableType, Logger logger) { + super(_modeHandler, logger); this.writableType = writableType; m_currentDbPath = currentDbPath; m_currentDsPath = currentDsPath; @@ -258,7 +259,7 @@ public abstract class TdbCollector extends ArchiverCollector { isFirstValueList.put(attName.toLowerCase(), true); } catch (final ConnectionException e) { - super.logger.trace(ILogger.LEVEL_WARNING, e); + logger.error("add source failed", e); final String message = GlobalConst.ARCHIVING_ERROR_PREFIX + " : " + "Failed adding '" + attributeLightMode.getAttribute_complete_name() + "' as source"; @@ -266,9 +267,8 @@ public abstract class TdbCollector extends ArchiverCollector { final String desc = "Failed while executing BooleanScalar.addSource() method..."; throw new ArchivingException(message, reason, ErrSeverity.WARN, desc, "", e); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_WARNING, - "Unexpected exception during addSource:" + attributeLightMode.getAttribute_complete_name()); - super.logger.trace(ILogger.LEVEL_WARNING, e); + logger.error("Unexpected exception during addSource:" + attributeLightMode.getAttribute_complete_name()); + logger.error("Unexpected exception during addSource", e); } finally { startCollecting(); } @@ -322,9 +322,9 @@ public abstract class TdbCollector extends ArchiverCollector { public abstract void removeListeners(IEntity attribute) throws ArchivingException; public String exportFile2Db(final String attributeName) throws IOException, ArchivingException { - logger.trace(ILogger.LEVEL_DEBUG, "XXXXXXX FORCING export for " + attributeName); + logger.debug("XXXXXXX FORCING export for " + attributeName); final String result = filesNames.get(attributeName.toLowerCase()).switchFile(); - logger.trace(ILogger.LEVEL_DEBUG, "Export forced done for " + attributeName + " - " + result); + logger.debug("Export forced done for " + attributeName + " - " + result); return result; } @@ -385,8 +385,8 @@ public abstract class TdbCollector extends ArchiverCollector { final long newTime = scalarEvent.getTimeStamp(); if (newTime == 0) { - logger.trace(ILogger.LEVEL_WARNING, "NOARCHIVING - received a zero timestamp for " + name - + " - tableName: " + scalarEvent.getTable_name()); + logger.warn("NOARCHIVING - received a zero timestamp for " + name + " - tableName: " + + scalarEvent.getTable_name()); return false; } @@ -396,21 +396,21 @@ public abstract class TdbCollector extends ArchiverCollector { return true; } - final boolean isAlreadyRegisteredDate = lastTimestampStack.containsDate(newTime, logger); + final boolean isAlreadyRegisteredDate = lastTimestampStack.containsDate(newTime); // System.out.println ( // "isDataArchivableTimestampWise/isAlreadyRegisteredDate/"+isAlreadyRegisteredDate); if (isAlreadyRegisteredDate) { - logger.trace(ILogger.LEVEL_DEBUG, "NOARCHIVING - AlreadyRegisteredDate - attribute: " + name - + " - timestamp: " + new Timestamp(newTime)); + logger.warn("NOARCHIVING - AlreadyRegisteredDate - attribute: " + name + " - timestamp: " + + new Timestamp(newTime)); return false; } - final boolean isValidRegisteredDate = lastTimestampStack.validateDate(newTime, logger); + final boolean isValidRegisteredDate = lastTimestampStack.validateDate(newTime); // System.out.println ( // "isDataArchivableTimestampWise/isAlreadyRegisteredDate/"+isAlreadyRegisteredDate); if (!isValidRegisteredDate) { - logger.trace(ILogger.LEVEL_DEBUG, "NOARCHIVING - not ValidRegisteredDate - attribute: " + name - + " - timestamp: " + new Timestamp(newTime)); + logger.warn("NOARCHIVING - not ValidRegisteredDate - attribute: " + name + " - timestamp: " + + new Timestamp(newTime)); return false; } // m_logger.trace(ILogger.LEVEL_DEBUG, name + " timestamp OK: " + new diff --git a/src/main/java/TdbArchiver/Collector/TdbCollectorFactory.java b/src/main/java/TdbArchiver/Collector/TdbCollectorFactory.java index 71295acd2195f05b44af191850f331e1c9770c08..9bb38bc0b8afb5a8ff75eff76cd49406633e464a 100644 --- a/src/main/java/TdbArchiver/Collector/TdbCollectorFactory.java +++ b/src/main/java/TdbArchiver/Collector/TdbCollectorFactory.java @@ -121,6 +121,8 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; +import org.slf4j.Logger; + import TdbArchiver.Collector.Tools.SuperMode; import TdbArchiver.Collector.image.Image_RO; import TdbArchiver.Collector.scalar.BooleanScalar; @@ -134,7 +136,6 @@ import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; import fr.esrf.Tango.ErrSeverity; import fr.esrf.TangoDs.TangoConst; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeLightMode; @@ -142,13 +143,13 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.AttributeSupport; public class TdbCollectorFactory { private final Map<SuperMode, TdbCollector> tableCollector = new HashMap<SuperMode, TdbCollector>(); - private final ILogger m_logger; + private final Logger logger; private String m_currentDbPath = ""; private String m_currentDsPath = ""; - public TdbCollectorFactory(final ILogger logger, final String dsPath, final String dbPath) { - m_logger = logger; + public TdbCollectorFactory(final Logger logger, final String dsPath, final String dbPath) { + this.logger = logger; m_currentDbPath = dbPath; m_currentDsPath = dsPath; } @@ -211,7 +212,7 @@ public class TdbCollectorFactory { } collector.setDbProxy(dbProxy); - collector.setDiaryLogger(m_logger); + // collector.setDiaryLogger(logger); try { collector.addSource(attributeLightMode, attributePerFile); @@ -259,19 +260,19 @@ public class TdbCollectorFactory { case TangoConst.Tango_DEV_LONG64: case TangoConst.Tango_DEV_UCHAR: collector = new NumberScalar(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; case TangoConst.Tango_DEV_BOOLEAN: collector = new BooleanScalar(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; case TangoConst.Tango_DEV_STATE: collector = new StateScalar(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; case TangoConst.Tango_DEV_STRING: collector = new StringScalar(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; default: generateException(GlobalConst.DATA_TYPE_EXCEPTION, data_type, name); @@ -289,15 +290,15 @@ public class TdbCollectorFactory { case TangoConst.Tango_DEV_LONG64: case TangoConst.Tango_DEV_UCHAR: collector = new NumberSpectrum(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; case TangoConst.Tango_DEV_BOOLEAN: collector = new BooleanSpectrum(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; case TangoConst.Tango_DEV_STRING: collector = new StringSpectrum(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; default: generateException(GlobalConst.DATA_TYPE_EXCEPTION, data_type, name); @@ -305,7 +306,7 @@ public class TdbCollectorFactory { break; case AttrDataFormat._IMAGE: // IMAGE collector = new Image_RO(modeHandler, m_currentDsPath, m_currentDbPath, - AttrWriteType.from_int(writable)); + AttrWriteType.from_int(writable), logger); break; default: generateException(GlobalConst.DATA_FORMAT_EXCEPTION, data_format, name); @@ -350,9 +351,9 @@ public class TdbCollectorFactory { final TdbCollector collector = tableCollector.get(superMode); if (collector != null) { - m_logger.trace(ILogger.LEVEL_INFO, "===> Collector found : removeSource is requested ... "); + logger.debug("===> Collector found : removeSource is requested ... "); collector.removeSource(attributeLightMode.getAttribute_complete_name(), false); - m_logger.trace(ILogger.LEVEL_INFO, "===> ... removeSource is done"); + logger.debug("===> ... removeSource is done"); // if (collector.hasEmptyList()) { // toRemove.add(superMode); // } diff --git a/src/main/java/TdbArchiver/Collector/Tools/FileTools.java b/src/main/java/TdbArchiver/Collector/Tools/FileTools.java index 6aeb87181a74cab8fe9b2ac888e93542f2cbbb7c..127ba21cbdfc3581cda3cac08b9eda2f23a27023 100644 --- a/src/main/java/TdbArchiver/Collector/Tools/FileTools.java +++ b/src/main/java/TdbArchiver/Collector/Tools/FileTools.java @@ -212,12 +212,13 @@ import java.nio.channels.FileChannel; import java.sql.Timestamp; import java.util.Date; +import org.slf4j.Logger; + import TdbArchiver.Collector.DbProxy; import fr.esrf.Tango.AttrDataFormat; import fr.esrf.Tango.AttrWriteType; import fr.esrf.TangoDs.TangoConst; import fr.esrf.TangoDs.Util; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.DateHeure; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.StringFormater; @@ -238,7 +239,7 @@ public class FileTools { private final String localFilePath; private final String remoteFilePath; - private final ILogger logger; + private final Logger logger; private final DbProxy dbProxy; private Timestamp lastTimestamp; private final String attributeName; @@ -248,7 +249,7 @@ public class FileTools { private final long exportPeriod; public FileTools(final String attributeName, final String tableName, final int dataFormat, final int writable, - final long windowsDuration, final ILogger logger, final DbProxy dbProxy, final String workingDsPath, + final long windowsDuration, final Logger logger, final DbProxy dbProxy, final String workingDsPath, final String workingDbPath) throws IOException, ArchivingException { this.dataFormat = dataFormat; this.writable = writable; @@ -261,7 +262,7 @@ public class FileTools { localFilePath = workingDsPath; remoteFilePath = workingDbPath; writtenAttributes = 0; - logger.trace(ILogger.LEVEL_INFO, "new FileTools for " + attributeName + " at " + localFilePath); + logger.debug("new FileTools for " + attributeName + " at " + localFilePath); checkDirs(localFilePath); openFile(); @@ -294,16 +295,16 @@ public class FileTools { private synchronized void openFile() throws IOException, ArchivingException { try { fileName = buidFileName(tableName); - logger.trace(ILogger.LEVEL_INFO, "open file " + getLocalFilePath()); + logger.info("open file " + getLocalFilePath()); final FileOutputStream stream = new FileOutputStream(new File(getLocalFilePath())); channel = stream.getChannel(); if (dbProxy.getDataBase().getDbConn().getDbType() == ConfigConst.TDB_ORACLE) { exportFileToDB(fileName); } } catch (final IOException e) { - logger.trace(ILogger.LEVEL_ERROR, "ERROR !! " + "\r\n" + "\t Origin : \t " + "FileTools.initFile" + "\r\n" - + "\t Reason : \t " + e.getClass().getName() + "\r\n" + "\t Description : \t " + e.getMessage() - + "\r\n" + "\t Additional information : \t " + "" + "\r\n"); + logger.error("ERROR !! " + "\r\n" + "\t Origin : \t " + "FileTools.initFile" + "\r\n" + "\t Reason : \t " + + e.getClass().getName() + "\r\n" + "\t Description : \t " + e.getMessage() + "\r\n" + + "\t Additional information : \t " + "" + "\r\n"); e.printStackTrace(); throw e; } @@ -314,9 +315,9 @@ public class FileTools { */ public synchronized void closeFile() throws IOException, ArchivingException { final String oldFileName = fileName; - logger.trace(ILogger.LEVEL_DEBUG, "closing file " + getLocalFilePath()); + logger.info("closing file " + getLocalFilePath()); channel.close(); - logger.trace(ILogger.LEVEL_DEBUG, "file closed " + getLocalFilePath()); + logger.info("file closed " + getLocalFilePath()); if (dbProxy.getDataBase().getDbConn().getDbType() == ConfigConst.TDB_MYSQL) { exportFileToDB(oldFileName); } @@ -400,17 +401,16 @@ public class FileTools { } } else { - logger.trace(ILogger.LEVEL_INFO, - "This timestamps has already been inserted : " + new Timestamp(timeStampValue) - + " in the file " + fileName + "for " + scalarEvent.getAttribute_complete_name()); + logger.debug("This timestamps has already been inserted : " + new Timestamp(timeStampValue) + + " in the file " + fileName + "for " + scalarEvent.getAttribute_complete_name()); } } catch (final IOException e) { e.printStackTrace(); - logger.trace(ILogger.LEVEL_ERROR, "IOException for " + scalarEvent.getAttribute_complete_name()); + logger.error("IOException for " + scalarEvent.getAttribute_complete_name()); } catch (Exception e) { e.printStackTrace(); - logger.trace(ILogger.LEVEL_ERROR, "Unknow Exception for " + scalarEvent.getAttribute_complete_name()); + logger.error("Unknow Exception for " + scalarEvent.getAttribute_complete_name()); } } @@ -421,15 +421,14 @@ public class FileTools { final long elapseTime = currentDate - creationFileDate.getTime(); // attributePerFile is not defined so just check exportPeriod if (attributePerFile <= 0 && elapseTime >= exportPeriod) { - logger.trace(ILogger.LEVEL_DEBUG, "export because of elapseTime " + elapseTime); + logger.debug("export because of elapseTime " + elapseTime); switchFile(); // check attributePerFile and // exportPeriod } else if (attributePerFile > 0) { writtenAttributes++; if (writtenAttributes >= attributePerFile || elapseTime >= exportPeriod) { - logger.trace(ILogger.LEVEL_DEBUG, "export due to writtenAttributes " + writtenAttributes - + " - elapseTime " + elapseTime); + logger.debug("export due to writtenAttributes " + writtenAttributes + " - elapseTime " + elapseTime); switchFile(); writtenAttributes = 0; } @@ -443,8 +442,7 @@ public class FileTools { } catch (final IOException e) { e.printStackTrace(); final String msg = "FileToolsWithNio/write/problem writing for attribute/" + tableName; - logger.trace(ILogger.LEVEL_ERROR, msg); - logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(msg, e); throw e; } } @@ -495,8 +493,8 @@ public class FileTools { } } else { - logger.trace(ILogger.LEVEL_INFO, "This timestamps has already been inserted : " - + new Timestamp(timeStampValue) + " in the file " + fileName); + logger.info("This timestamps has already been inserted : " + new Timestamp(timeStampValue) + + " in the file " + fileName); } } catch (final IOException e) { Util.out2.println("ERROR !! " + "\r\n" + "\t Origin : \t " + "FileTools.processEventSpectrum" + "\r\n" @@ -584,11 +582,11 @@ public class FileTools { } doExport(); } else { - logger.trace(ILogger.LEVEL_INFO, "This timestamps has already been inserted : " - + new Timestamp(timeStampValue) + " in the file " + fileName); + logger.info("This timestamps has already been inserted : " + new Timestamp(timeStampValue) + + " in the file " + fileName); } } catch (final IOException e) { - Util.out2.println("ERROR !! " + "\r\n" + "\t Origin : \t " + "FileTools.processEventSpectrum" + "\r\n" + logger.error("ERROR !! " + "\r\n" + "\t Origin : \t " + "FileTools.processEventSpectrum" + "\r\n" + "\t Reason : \t " + e.getClass().getName() + "\r\n" + "\t Description : \t " + e.getMessage() + "\r\n" + "\t Additional information : \t " + "File :\t " + fileName + "\r\n"); } @@ -629,14 +627,14 @@ public class FileTools { .append("\"").toString()); write(ConfigConst.NEW_LINE); } else { - logger.trace(ILogger.LEVEL_INFO, "This timestamps has already been inserted : " - + new Timestamp(timeStampValue) + " in the file " + fileName); + logger.info("This timestamps has already been inserted : " + new Timestamp(timeStampValue) + + " in the file " + fileName); } } } catch (final IOException e) { - Util.out2.println("ERROR !! " + "\r\n" + "\t Origin : \t " + "FileTools.processEventImage" + "\r\n" + logger.error("ERROR !! " + "\r\n" + "\t Origin : \t " + "FileTools.processEventImage" + "\r\n" + "\t Reason : \t " + e.getClass().getName() + "\r\n" + "\t Description : \t " + e.getMessage() + "\r\n" + "\t Additional information : \t " + "File :\t " + fileName + "\r\n"); } @@ -653,8 +651,8 @@ public class FileTools { * @throws ArchivingException */ public synchronized String switchFile() throws IOException, ArchivingException { - logger.trace(ILogger.LEVEL_INFO, "#######Exporting file " + fileName + " - attribute " + attributeName - + "- period " + exportPeriod + " - attrPerFile " + attributePerFile); + logger.info("#######Exporting file " + fileName + " - attribute " + attributeName + "- period " + exportPeriod + + " - attrPerFile " + attributePerFile); closeFile(); openFile(); @@ -667,8 +665,8 @@ public class FileTools { private void exportFileToDB(final String fileName) { try { - logger.trace(ILogger.LEVEL_DEBUG, "start exporting " + remoteFilePath + "/" + fileName + " - _tableName:" - + tableName + " - attribute " + attributeName); + logger.debug("start exporting " + remoteFilePath + "/" + fileName + " - _tableName:" + tableName + + " - attribute " + attributeName); switch (dataFormat) { case AttrDataFormat._SCALAR: dbProxy.exportToDB_Scalar(remoteFilePath, fileName, tableName, writable); @@ -686,13 +684,12 @@ public class FileTools { final String message = "Export out OK - of " + remoteFilePath + "/" + fileName + " - _tableName:" + tableName + " - attribute " + attributeName; - logger.trace(ILogger.LEVEL_DEBUG, message); + logger.debug(message); } catch (final ArchivingException e) { e.printStackTrace(); final String message = "Problem (ArchivingException) exporting file: _remoteFilePath|" + remoteFilePath + "|_exportFileName|" + fileName + "|_tableName|" + tableName; - logger.trace(ILogger.LEVEL_ERROR, message); - logger.trace(ILogger.LEVEL_ERROR, e); + logger.error(message, e); } } diff --git a/src/main/java/TdbArchiver/Collector/image/Image_RO.java b/src/main/java/TdbArchiver/Collector/image/Image_RO.java index dedbd6c803ce54cc8260c3dc099b3a3c39c35c28..1da6b3e6a8ab531e3b552647a471499baaa71ba8 100644 --- a/src/main/java/TdbArchiver/Collector/image/Image_RO.java +++ b/src/main/java/TdbArchiver/Collector/image/Image_RO.java @@ -102,6 +102,8 @@ package TdbArchiver.Collector.image; +import org.slf4j.Logger; + import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; import fr.esrf.Tango.AttrWriteType; @@ -119,8 +121,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ImageEvent_RO; public class Image_RO extends TdbCollector implements IImageListener { public Image_RO(final TdbModeHandler modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(modeHandler, currentDsPath, currentDbPath, writableType, logger); } @Override diff --git a/src/main/java/TdbArchiver/Collector/scalar/BooleanScalar.java b/src/main/java/TdbArchiver/Collector/scalar/BooleanScalar.java index fc736b7e4b232f44ad7ecdba0d46e57d1a963bc9..04ec8390a2a95597a5179a4fa33351c643bc5989 100644 --- a/src/main/java/TdbArchiver/Collector/scalar/BooleanScalar.java +++ b/src/main/java/TdbArchiver/Collector/scalar/BooleanScalar.java @@ -92,6 +92,8 @@ package TdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; @@ -107,7 +109,6 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IBooleanScalar; import fr.esrf.tangoatk.core.IBooleanScalarListener; import fr.esrf.tangoatk.core.IEntity; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -116,8 +117,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class BooleanScalar extends TdbCollector implements IBooleanScalarListener { public BooleanScalar(final TdbModeHandler modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(modeHandler, currentDsPath, currentDbPath, writableType, logger); } @Override @@ -165,7 +166,7 @@ public class BooleanScalar extends TdbCollector implements IBooleanScalarListene } else { final String message = "event is null or empty: " + event; System.err.println(message); - logger.trace(ILogger.LEVEL_ERROR, message); + logger.error(message); } } @@ -180,11 +181,11 @@ public class BooleanScalar extends TdbCollector implements IBooleanScalarListene if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + "Attribute Counters unknown"); + logger.error(attributeName + "Attribute Counters unknown"); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -222,16 +223,15 @@ public class BooleanScalar extends TdbCollector implements IBooleanScalarListene final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); - Util.out3.println(errorMess); - logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); try { processEventScalar( getNullValueScalarEvent(errorEvent, TangoConst.Tango_DEV_BOOLEAN, getWritableValue().value()), tryNumber); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/TdbArchiver/Collector/scalar/NumberScalar.java b/src/main/java/TdbArchiver/Collector/scalar/NumberScalar.java index b1993a8785d1b40c382b53ff57423989324e4832..bdbe3c775cafe2be24673b1f4d991718cf861e24 100644 --- a/src/main/java/TdbArchiver/Collector/scalar/NumberScalar.java +++ b/src/main/java/TdbArchiver/Collector/scalar/NumberScalar.java @@ -151,6 +151,8 @@ //-====================================================================== package TdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; @@ -167,7 +169,6 @@ import fr.esrf.tangoatk.core.INumberScalar; import fr.esrf.tangoatk.core.INumberScalarListener; import fr.esrf.tangoatk.core.NumberScalarEvent; import fr.esrf.tangoatk.core.attribute.AAttribute; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -176,8 +177,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class NumberScalar extends TdbCollector implements INumberScalarListener { public NumberScalar(final TdbModeHandler _modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(_modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(_modeHandler, currentDsPath, currentDbPath, writableType, logger); } @Override @@ -209,11 +210,11 @@ public class NumberScalar extends TdbCollector implements INumberScalarListener if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + " Attribute Counters unknown"); + logger.error(attributeName + " Attribute Counters unknown"); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -354,7 +355,7 @@ public class NumberScalar extends TdbCollector implements INumberScalarListener } else { final String message = "event is null or empty: " + event; System.err.println(message); - logger.trace(ILogger.LEVEL_ERROR, message); + logger.error(message); } } @@ -365,15 +366,15 @@ public class NumberScalar extends TdbCollector implements INumberScalarListener final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); Util.out3.println(errorMess); - super.logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); try { processEventScalar( getNullValueScalarEvent(errorEvent, ((AAttribute) errorEvent.getSource()).getTangoDataType(), getWritableValue().value()), tryNumber); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/TdbArchiver/Collector/scalar/StateScalar.java b/src/main/java/TdbArchiver/Collector/scalar/StateScalar.java index faf55bee535fff2a13c59f4aef17c6bbb55927aa..f57165b2e80b867dbf137f382bf1f9c4beedca02 100644 --- a/src/main/java/TdbArchiver/Collector/scalar/StateScalar.java +++ b/src/main/java/TdbArchiver/Collector/scalar/StateScalar.java @@ -18,6 +18,8 @@ */ package TdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; @@ -34,7 +36,6 @@ import fr.esrf.tangoatk.core.ErrorEvent; import fr.esrf.tangoatk.core.IDevStateScalar; import fr.esrf.tangoatk.core.IDevStateScalarListener; import fr.esrf.tangoatk.core.IEntity; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -43,8 +44,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class StateScalar extends TdbCollector implements IDevStateScalarListener { public StateScalar(final TdbModeHandler _modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(_modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(_modeHandler, currentDsPath, currentDbPath, writableType, logger); } public void processEventScalar(final ScalarEvent scalarEvent, int try_number) { @@ -58,11 +59,11 @@ public class StateScalar extends TdbCollector implements IDevStateScalarListener if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + " Attribute Counters unknown"); + logger.error(attributeName + " Attribute Counters unknown"); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -136,7 +137,7 @@ public class StateScalar extends TdbCollector implements IDevStateScalarListener } else { final String message = "event is null or empty: " + event; System.err.println(message); - logger.trace(ILogger.LEVEL_ERROR, message); + logger.error(message); } } @@ -145,16 +146,15 @@ public class StateScalar extends TdbCollector implements IDevStateScalarListener final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); - Util.out3.println(errorMess); - super.logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); try { processEventScalar( getNullValueScalarEvent(errorEvent, TangoConst.Tango_DEV_STATE, getWritableValue().value()), DEFAULT_TRY_NUMBER); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/TdbArchiver/Collector/scalar/StringScalar.java b/src/main/java/TdbArchiver/Collector/scalar/StringScalar.java index d320b71cbb4f7d1002618cb955bd75edc7daff83..24b25aa3b5a698ac4fec724703e4ff8a55c4f0e2 100644 --- a/src/main/java/TdbArchiver/Collector/scalar/StringScalar.java +++ b/src/main/java/TdbArchiver/Collector/scalar/StringScalar.java @@ -18,6 +18,8 @@ */ package TdbArchiver.Collector.scalar; +import org.slf4j.Logger; + import Common.Archiver.Collector.ModesCounters; import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; @@ -33,7 +35,6 @@ import fr.esrf.tangoatk.core.IEntity; import fr.esrf.tangoatk.core.IStringScalar; import fr.esrf.tangoatk.core.IStringScalarListener; import fr.esrf.tangoatk.core.StringScalarEvent; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; @@ -41,8 +42,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ScalarEvent; public class StringScalar extends TdbCollector implements IStringScalarListener { public StringScalar(final TdbModeHandler _modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(_modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(_modeHandler, currentDsPath, currentDbPath, writableType, logger); } @Override @@ -76,12 +77,12 @@ public class StringScalar extends TdbCollector implements IStringScalarListener if (isFirstValueList.get(attributeName.toLowerCase())) { doArchive = true; isFirstValueList.put(attributeName.toLowerCase(), false); - logger.trace(ILogger.LEVEL_DEBUG, attributeName + " first value, forcing archiving"); + logger.debug(attributeName + " first value, forcing archiving"); } else { final ModesCounters mc = getModeCounter(attributeName); if (mc == null) { - logger.trace(ILogger.LEVEL_ERROR, attributeName + " Attribute Counters unknown"); + logger.error(attributeName + " Attribute Counters unknown"); } else { doArchive = doArchiveEvent(mc, scalarEvent.getData_type(), scalarEvent.getReadValue(), getLastValue(scalarEvent), attributeName); @@ -147,7 +148,7 @@ public class StringScalar extends TdbCollector implements IStringScalarListener } else { final String message = "event is null or empty: " + event; System.err.println(message); - logger.trace(ILogger.LEVEL_ERROR, message); + logger.error(message); } } @@ -159,15 +160,15 @@ public class StringScalar extends TdbCollector implements IStringScalarListener final String errorMess = this.getClass().getSimpleName() + ".errorChange : Unable to read the attribute named " + errorEvent.getSource().toString(); Util.out3.println(errorMess); - super.logger.trace(ILogger.LEVEL_ERROR, errorMess); + logger.error(errorMess); try { processEventScalar( getNullValueScalarEvent(errorEvent, TangoConst.Tango_DEV_STRING, getWritableValue().value()), tryNumber); } catch (final Exception e) { - super.logger.trace(ILogger.LEVEL_ERROR, this.getClass().getSimpleName() - + ".errorChange : during processEventScalar creation execp : " + e); + logger.error(this.getClass().getSimpleName() + ".errorChange : during processEventScalar creation execp : " + + e); e.printStackTrace(); } } diff --git a/src/main/java/TdbArchiver/Collector/spectrum/BooleanSpectrum.java b/src/main/java/TdbArchiver/Collector/spectrum/BooleanSpectrum.java index a4a36e45fbd00468da442e392ba8eda52952f6d6..7cdd5cce4c9d3358fdbe4406e525aa1080c18a90 100644 --- a/src/main/java/TdbArchiver/Collector/spectrum/BooleanSpectrum.java +++ b/src/main/java/TdbArchiver/Collector/spectrum/BooleanSpectrum.java @@ -1,5 +1,7 @@ package TdbArchiver.Collector.spectrum; +import org.slf4j.Logger; + import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; import fr.esrf.Tango.AttrWriteType; @@ -20,8 +22,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RW; public class BooleanSpectrum extends TdbCollector implements IBooleanSpectrumListener { public BooleanSpectrum(final TdbModeHandler modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(modeHandler, currentDsPath, currentDbPath, writableType, logger); } @Override diff --git a/src/main/java/TdbArchiver/Collector/spectrum/NumberSpectrum.java b/src/main/java/TdbArchiver/Collector/spectrum/NumberSpectrum.java index b894e5011a218dc290f272f4fe53bdcfe64b0375..90f72c2fdc38582f380690f01378de30a7d7de73 100644 --- a/src/main/java/TdbArchiver/Collector/spectrum/NumberSpectrum.java +++ b/src/main/java/TdbArchiver/Collector/spectrum/NumberSpectrum.java @@ -113,6 +113,8 @@ package TdbArchiver.Collector.spectrum; +import org.slf4j.Logger; + import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; import fr.esrf.Tango.AttrWriteType; @@ -133,8 +135,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RW; public class NumberSpectrum extends TdbCollector implements ISpectrumListener { public NumberSpectrum(final TdbModeHandler modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(modeHandler, currentDsPath, currentDbPath, writableType, logger); } @Override diff --git a/src/main/java/TdbArchiver/Collector/spectrum/StringSpectrum.java b/src/main/java/TdbArchiver/Collector/spectrum/StringSpectrum.java index f0a010609ebe2fbb7cc4c917bd898580450f18f7..dc9382e37184a23819b195f4878e1e7d7d071ebc 100644 --- a/src/main/java/TdbArchiver/Collector/spectrum/StringSpectrum.java +++ b/src/main/java/TdbArchiver/Collector/spectrum/StringSpectrum.java @@ -118,6 +118,7 @@ package TdbArchiver.Collector.spectrum; import org.apache.commons.lang.ArrayUtils; +import org.slf4j.Logger; import TdbArchiver.Collector.TdbCollector; import TdbArchiver.Collector.TdbModeHandler; @@ -139,8 +140,8 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.SpectrumEvent_RW; public class StringSpectrum extends TdbCollector implements IStringSpectrumListener { public StringSpectrum(final TdbModeHandler modeHandler, final String currentDsPath, final String currentDbPath, - final AttrWriteType writableType) { - super(modeHandler, currentDsPath, currentDbPath, writableType); + final AttrWriteType writableType, Logger logger) { + super(modeHandler, currentDsPath, currentDbPath, writableType, logger); } @Override diff --git a/src/main/java/TdbArchiver/TdbArchiver.java b/src/main/java/TdbArchiver/TdbArchiver.java index 5f92abd33cf39391251d485689b98635f78e3940..8da1bf12170e60145a2caefc980ea3f2a4beb3ee 100644 --- a/src/main/java/TdbArchiver/TdbArchiver.java +++ b/src/main/java/TdbArchiver/TdbArchiver.java @@ -396,6 +396,7 @@ import java.util.concurrent.Executors; import org.omg.CORBA.SystemException; import org.omg.CORBA.UserException; +import org.slf4j.Logger; import org.tango.utils.DevFailedUtils; import TdbArchiver.Collector.DbProxy; @@ -410,9 +411,8 @@ import fr.esrf.TangoDs.DeviceImpl; import fr.esrf.TangoDs.Except; import fr.esrf.TangoDs.TangoConst; import fr.esrf.TangoDs.Util; +import fr.soleil.archiving.utils.LoggingUtils; import fr.soleil.archiving.utils.TangoStateUtils; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.LoggerFactory; import fr.soleil.commonarchivingapi.ArchivingTools.Tools.GlobalConst; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.GetConf; @@ -569,10 +569,10 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { public static final short SUCCEEDED = 20; public static final short FAILED = 30; - private fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger logger; private final Set<String> koAttributes = new HashSet<String>(); private final Set<String> okAttributes = new HashSet<String>(); private String dbSchema; + private Logger logger; // -------------------------------------- @@ -625,6 +625,12 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { get_logger().info("TdbArchiver() create " + device_name); get_device_property(); + try { + logger = LoggingUtils.configureLogging(device_name, hasDiary, diaryPath, diaryLogLevel); + } catch (IOException e) { + TangoStateUtils.setFault(this, "logging configuration failed"); + } + attr_image_charge_read = 0; attr_spectrum_charge_read = 0; attr_scalar_charge_read = 0; @@ -645,17 +651,16 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { get_logger().info("isDedicated = " + isDedicated); get_logger().info("reservedAttributes = " + traceStrings(reservedAttributes)); - startLoggingFactory(); collectorFactory = new TdbCollectorFactory(logger, dsPath, dbPath); - dbProxy = new DbProxy(logger, dbHost, dbName, dbSchema, dbUser, dbPassword, RacConnection); - - if (!dbProxy.is_db_connected()) { - TangoStateUtils.setFault(this, "database connection error"); - get_logger().error("ERROR : Database unconnected !!"); - } else { + try { + dbProxy = new DbProxy(dbHost, dbName, dbSchema, dbUser, dbPassword, RacConnection); Executors.newSingleThreadExecutor().submit(new InitDeviceTask()); + } catch (ArchivingException e) { + TangoStateUtils.setFault(this, "Historical database connection failed: " + e); + logger.error("ERROR : Database unconnected !!"); } + } private String traceStrings(final String[] reservedAttributes2) { @@ -673,12 +678,6 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { return ret; } - private void startLoggingFactory() { - final ILogger _logger = LoggerFactory.getImpl(device_name, diaryPath, hasDiary); - _logger.setTraceLevel(diaryLogLevel); - logger = _logger; - } - private void startArchiving(final ArchivingMessConfig archivingMessConfig, final boolean forceThreadedMode, final boolean updateAMTTable) throws DevFailed { final StartArchivingRunnable startArchivingRunnable = new StartArchivingRunnable(archivingMessConfig, @@ -700,7 +699,7 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { try { myCurrentTasks = dbProxy.getArchiverCurrentTasks(device_name); } catch (ArchivingException e) { - logger.trace(ILogger.LEVEL_ERROR, "cannot getArchiverCurrentTasks " + e); + logger.error("cannot getArchiverCurrentTasks " + e); TangoStateUtils.setFault(TdbArchiver.this, e.getMessage()); } try { @@ -757,7 +756,7 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { * cleanOldFiles = false; hasTriggeredExport = false; */ hasDiary = false; - diaryLogLevel = ILogger.DEBUG; + diaryLogLevel = "DEBUG"; diaryPath = null; isDedicated = false; reservedAttributes = null; @@ -1018,11 +1017,11 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { private void triggerArchiving(final String[] argin, final boolean updateAMTTable) throws DevFailed { TangoStateUtils.setRunning(this); - logger.trace(ILogger.LEVEL_INFO, "trigger_archive_conf - in"); + logger.debug("trigger_archive_conf - in"); final ArchivingException archivingException = new ArchivingException(); final ArchivingMessConfig archivingMessConfig = ArchivingMessConfig.creationWithFullInformation(argin); - archivingMessConfig.filter(isDedicated, reservedAttributes, logger); + archivingMessConfig.filter(isDedicated, reservedAttributes); boolean hasToThrow = false; @@ -1034,7 +1033,7 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { attributeLightMode.setTrigger_time(new Timestamp(System.currentTimeMillis())); boolean att_support = false; final String attCompleteName = attributeLightMode.getAttribute_complete_name(); - logger.trace(ILogger.LEVEL_INFO, "managing " + attCompleteName); + logger.info("managing {}", attCompleteName); try { att_support = AttributeSupport.checkAttributeSupport(attCompleteName, attributeLightMode.getData_type(), attributeLightMode.getData_format(), @@ -1052,10 +1051,10 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { // start a new data collection final TdbCollector m_collector = collectorFactory.get(attributeLightMode); if (m_collector == null) { - logger.trace(ILogger.LEVEL_INFO, "Entering addSource " + attCompleteName); + logger.debug("Entering addSource " + attCompleteName); collectorFactory.createCollectorAndAddSource(attributeLightMode, dbProxy, attributePerFile); } else { - logger.trace(ILogger.LEVEL_INFO, "addSource " + attCompleteName); + logger.debug("addSource " + attCompleteName); m_collector.addSource(attributeLightMode, attributePerFile); } @@ -1070,7 +1069,7 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { } okAttributes.add(attCompleteName.toLowerCase()); koAttributes.remove(attCompleteName.toLowerCase()); - logger.trace(ILogger.LEVEL_INFO, "OK: " + attCompleteName); + logger.info("OK: " + attCompleteName); } catch (final ArchivingException e) { try { collectorFactory.remove(attCompleteName); @@ -1080,10 +1079,10 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { final String message = GlobalConst.ARCHIVING_ERROR_PREFIX + " : "; archivingException.addStack(message, e); hasToThrow = true; - logger.trace(ILogger.LEVEL_ERROR, e); + logger.error("start failed ", e); koAttributes.add(attCompleteName.toLowerCase()); okAttributes.remove(attCompleteName.toLowerCase()); - logger.trace(ILogger.LEVEL_INFO, "KO: " + attCompleteName); + logger.error("KO: " + attCompleteName); } catch (Exception e) { try { collectorFactory.remove(attCompleteName); @@ -1092,18 +1091,18 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { e.printStackTrace(); koAttributes.add(attCompleteName.toLowerCase()); okAttributes.remove(attCompleteName.toLowerCase()); - logger.trace(ILogger.LEVEL_ERROR, "KO " + attCompleteName + " unexpected " + e); + logger.error("KO " + attCompleteName + " unexpected " + e); } } computeLoads(); if (hasToThrow) { - logger.trace(ILogger.LEVEL_INFO, "trigger_archive_conf ERROR - out"); + logger.error("trigger_archive_conf ERROR - out"); throw archivingException.toTangoException(); } - logger.trace(ILogger.LEVEL_INFO, "trigger_archive_conf - out"); + logger.debug("trigger_archive_conf - out"); } /** @@ -1119,15 +1118,6 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { return GetConf.m_DEFAULT_EXPORT_PERIOD_VALUE; } - private void logWarningAboutRiskySettingOfStateBackToOn(final String methodName, final Exception e) { - final String openingLine = "Setting the state back to ON despite encountering exceptions in " + methodName - + " VVVVVVVVVVV"; - final String closingLine = "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"; - logger.trace(ILogger.LEVEL_WARNING, openingLine); - logger.trace(ILogger.LEVEL_WARNING, e); - logger.trace(ILogger.LEVEL_WARNING, closingLine); - } - // ========================================================= /** * Execute command "TriggerArchiveAtt" on device. This command is invoked @@ -1206,12 +1196,12 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { public void stop_archive_att(final String[] argin) throws DevFailed { TangoStateUtils.isAllowed(this); TangoStateUtils.setRunning(this); - logger.trace(ILogger.LEVEL_INFO, "stop_archive_att - in"); + logger.debug("stop_archive_att - in"); try { String attributeName = argin[0]; // final AttributeLightMode attributeLightMode = // AttributeLightMode.creationWithFullInformation(argin); - logger.trace(ILogger.LEVEL_INFO, "attribute: " + attributeName); + logger.info("stopping attribute: " + attributeName); if (koAttributes.contains(attributeName.toLowerCase()) || okAttributes.contains(attributeName.toLowerCase())) { // stop only if attribute is managed by this archiver @@ -1226,13 +1216,13 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { DevFailedUtils.throwDevFailed(attributeName + " is not archived by this device"); } } catch (final ArchivingException e) { - logger.trace(ILogger.LEVEL_ERROR, e); + logger.error("stop error", e); e.printStackTrace(); throw e.toTangoException(); } finally { computeLoads(); TangoStateUtils.updateState(this, koAttributes, okAttributes); - logger.trace(ILogger.LEVEL_INFO, "stop_archive_att - out"); + logger.debug("stop_archive_att - out"); } get_logger().info("Exiting stop_archive_att()"); @@ -1268,7 +1258,7 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { } else { final String msg = "TdbArchiver/export_data2_db/getAttribute_complete_name|" + attributeLightMode.getAttribute_complete_name() + "| The collector is missing!"; - logger.trace(ILogger.LEVEL_CRITIC, msg); + logger.error(msg); final String message = "Attempt to get a missing collector!"; final String reason = "Missing collector for attribute: " @@ -1471,8 +1461,8 @@ public class TdbArchiver extends DeviceImpl implements TangoConst { private void logRetry(final ArchivingMessConfig archivingMessConfig, final String methodName) { final String retryContent = archivingMessConfig.toString(); final String openingLine = methodName + " - retry for the following attributes"; - logger.trace(ILogger.LEVEL_INFO, openingLine); - logger.trace(ILogger.LEVEL_INFO, retryContent); + logger.debug(openingLine); + logger.debug(retryContent); } private void computeLoads() { diff --git a/src/main/java/TdbArchivingWatcher/TdbArchivingWatcher.java b/src/main/java/TdbArchivingWatcher/TdbArchivingWatcher.java index e1d892f0c5ddabf172a94ee172255b862ea90229..3368a9ed7626ddccccea229d9232fcecb9c95b8c 100644 --- a/src/main/java/TdbArchivingWatcher/TdbArchivingWatcher.java +++ b/src/main/java/TdbArchivingWatcher/TdbArchivingWatcher.java @@ -28,7 +28,6 @@ import fr.esrf.TangoDs.Attribute; import fr.esrf.TangoDs.DeviceClass; import fr.esrf.TangoDs.Except; import fr.esrf.TangoDs.Util; -import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger; import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst; import fr.soleil.hdbtdbArchivingApi.ArchivingManagerApi.TdbArchivingManagerApiRef; import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Mode.Mode; @@ -711,9 +710,7 @@ public class TdbArchivingWatcher extends AbsArchivingWatcher { } } } catch (final Exception e) { - logger.trace(ILogger.LEVEL_ERROR, "get_all_archiving_attributes/error! VVVVVVVVVVVVVVVVV"); - logger.trace(ILogger.LEVEL_ERROR, e); - logger.trace(ILogger.LEVEL_ERROR, "get_all_archiving_attributes/error! ^^^^^^^^^^^^^^^^^"); + logger.error("get_all_archiving_attributes/error! VVVVVVVVVVVVVVVVV", e); Tools.throwDevFailed(e); } diff --git a/src/main/java/TdbExtractor/TdbExtractor.java b/src/main/java/TdbExtractor/TdbExtractor.java index a0fa57a7dfabe82d6c8005f7efd54562a59ae240..f092f14ecd11f72ee71e9ecefad94c2ba5fc43a5 100644 --- a/src/main/java/TdbExtractor/TdbExtractor.java +++ b/src/main/java/TdbExtractor/TdbExtractor.java @@ -1534,7 +1534,11 @@ public class TdbExtractor extends DeviceImpl String[] values = new String[tuples.length]; for (int i = 0; i < tuples.length; i++) { timeStamps[i] = tuples[i].time; - values[i] = tuples[i].value[0].toString(); + if (tuples[i].value[0] == null) { + values[i] = "null"; + } else { + values[i] = tuples[i].value[0].toString(); + } } argout = new DevVarDoubleStringArray(timeStamps, values); } catch (final ArchivingException e) { @@ -2477,11 +2481,19 @@ public class TdbExtractor extends DeviceImpl // Create the attribute depends on DataFormat int data_type; data_type = dbData.getData_type(); - // The STATE type attributes are translated in STRING TYPE because the - // State type is not well - // managed in Tango layers if (data_type == TangoConst.Tango_DEV_STATE) { + // The STATE type attributes are translated in STRING TYPE because + // the State type is not well + // managed in Tango layers data_type = TangoConst.Tango_DEV_STRING; + } else if (data_type == TangoConst.Tango_DEV_USHORT || data_type == TangoConst.Tango_DEV_UCHAR) { + // U_* types are not supported by polling buffer, so use another + // supported type + data_type = TangoConst.Tango_DEV_SHORT; + } else if (data_type == TangoConst.Tango_DEV_ULONG) { + data_type = TangoConst.Tango_DEV_LONG; + } else if (data_type == TangoConst.Tango_DEV_ULONG64) { + data_type = TangoConst.Tango_DEV_LONG64; } switch (dbData.getData_format()) { @@ -2555,6 +2567,8 @@ public class TdbExtractor extends DeviceImpl } else { tg_1.fill_attr_polling_buffer(this, random_name_1, dbData.getDataAsTimedAttrData()); } + } catch (DevFailed e) { + throw e; } catch (Exception e) { // FIXME java.lang.ArrayIndexOutOfBoundsException thrown when some // data are empty. diff --git a/src/main/java/fr/soleil/archiving/utils/LoggingUtils.java b/src/main/java/fr/soleil/archiving/utils/LoggingUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..a6e396f061177abeff1e53af1f655c275fa565d9 --- /dev/null +++ b/src/main/java/fr/soleil/archiving/utils/LoggingUtils.java @@ -0,0 +1,48 @@ +package fr.soleil.archiving.utils; + +import java.io.IOException; + +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.DailyRollingFileAppender; +import org.apache.log4j.Level; +import org.apache.log4j.PatternLayout; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class LoggingUtils { + + private LoggingUtils() { + + } + + public static Logger configureLogging(String deviceName, boolean isUsingFile, String filePath, String level) + throws IOException { + // configure logging from device properties + Logger logger = LoggerFactory.getLogger(deviceName); + org.apache.log4j.Logger deviceLogger = org.apache.log4j.Logger.getLogger(deviceName); + if (deviceLogger != null) { + deviceLogger.setLevel(Level.toLevel(level)); + // file logging + if (isUsingFile) { + final String fileName = filePath + "/diary_" + refactorArchiverName(deviceName) + ".log"; + // Rollover at midnight each day. + deviceLogger.addAppender(new DailyRollingFileAppender(new PatternLayout( + "%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1}: %m%n"), fileName, "'.'yyyy-MM-dd")); + // Rollover at the beginning of every minute. + // deviceLogger.addAppender(new DailyRollingFileAppender(new + // PatternLayout( + // "%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1}: %m%n"), fileName, + // "'.'yyyy-MM-dd-HH-mm")); + } + // console logging + deviceLogger.addAppender(new ConsoleAppender(new PatternLayout( + "%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1}: %m%n"))); + } + return logger; + } + + private static String refactorArchiverName(final String archiver) { + final String ret = archiver.substring(archiver.lastIndexOf("/") + 1); + return ret; + } +} diff --git a/src/main/resources/log4j.xml b/src/main/resources/log4j.xml new file mode 100644 index 0000000000000000000000000000000000000000..c40f377aa48135f3e0e8854497e887639f8f9ac9 --- /dev/null +++ b/src/main/resources/log4j.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<!-- An example log4j configuration xml file for log4jdbc --> +<!-- Logging levels are: --> +<!-- DEBUG < INFO < WARN < ERROR < FATAL --> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + + <appender name="stdout-appender" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1}: %m%n"/> + </layout> + </appender> + + <appender name="sql-appender" class="org.apache.log4j.FileAppender"> + <param name="File" value="./logs/sql.log"/> + <param name="Append" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="-----> %d{yyyy-MM-dd HH:mm:ss.SSS} <%t> %m%n%n"/> + </layout> + </appender> + + <appender name="sql-timing-appender" class="org.apache.log4j.FileAppender"> + <param name="File" value="./logs/sqltiming.log"/> + <param name="Append" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n"/> + </layout> + </appender> + + <appender name="jdbc-appender" class="org.apache.log4j.FileAppender"> + <param name="File" value="./logs/jdbc.log"/> + <param name="Append" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n"/> + </layout> + </appender> + + <appender name="jdbc-connection" class="org.apache.log4j.FileAppender"> + <param name="File" value="./logs/connection.log"/> + <param name="Append" value="false"/> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n"/> + </layout> + </appender> + + <!-- + The Following 5 logs can be turned on and off while the server is running + LIVE in order to trace the SQL and/or all JDBC coming out of the application. + + To turn a log on, set the level value to INFO or DEBUG (to see class name and + line number information in the log) The DEBUG setting is much more inefficient + but the output is much more useful. + + To turn off JDBC logging completely, you must set all 5 logs to a level higher + than ERROR (FATAL is suggested.) + --> + + <!-- log SQL (pre-execution) plus exceptions caused by SQL --> + <logger name="jdbc.sqlonly" additivity="false"> + <level value="debug"/> + <appender-ref ref="stdout-appender"/> + </logger> + + <!-- log SQL with timing information, post execution --> + <logger name="jdbc.sqltiming" additivity="false"> + <level value="error"/> + <appender-ref ref="stdout-appender"/> + </logger> + + <!-- only use the two logs below to trace ALL JDBC information, + NOTE: This can be very voluminous! --> + + <!-- log all jdbc calls except ResultSet calls --> + <logger name="jdbc.audit" additivity="false"> + <level value="error"/> + <appender-ref ref="stdout-appender"/> + </logger> + + <!-- log the jdbc ResultSet calls --> + <logger name="jdbc.resultset" additivity="false"> + <level value="error"/> + <appender-ref ref="stdout-appender"/> + </logger> + + <logger name="jdbc.resultsettable" additivity="false"> + <level value="debug" /> + <appender-ref ref="stdout-appender" /> + </logger> + + <!-- log connection open/close events and dump of all open connection numbers --> + <logger name="jdbc.connection" additivity="false"> + <level value="error"/> + <appender-ref ref="stdout-appender"/> + </logger> + + <!-- this log is for internal debugging of log4jdbc, itself --> + <!-- debug logging for log4jdbc itself --> + <logger name="log4jdbc.debug" additivity="false"> + <level value="error"/> + <appender-ref ref="stdout-appender"/> + </logger> + + <!-- by default, log everything to the console with a level of WARN or higher --> + <root> + <level value="error"/> + <appender-ref ref="stdout-appender"/> + </root> +</log4j:configuration> \ No newline at end of file diff --git a/src/test/resources/log4j.xml b/src/test/resources/log4j.xml new file mode 100644 index 0000000000000000000000000000000000000000..27536bef1efed93057851bbf5679c04a8f50bf47 --- /dev/null +++ b/src/test/resources/log4j.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> + + <logger name="jacorb"> + <level value="ERROR" /> + </logger> + +</log4j:configuration>