From dd355cfe234bbb7e53592649c1aaa9bde7d64267 Mon Sep 17 00:00:00 2001
From: Samuel GARNIER <samuel.garnier@synchrotron-soleil.fr>
Date: Wed, 14 Aug 2024 14:40:27 +0200
Subject: [PATCH] Utilisation de la librairie deque pour les logs

---
 DG_PY_FOFBTool.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/DG_PY_FOFBTool.py b/DG_PY_FOFBTool.py
index b4a400c..a576cdf 100644
--- a/DG_PY_FOFBTool.py
+++ b/DG_PY_FOFBTool.py
@@ -29,15 +29,16 @@ import FofbTool.Operation
 import FofbTool.Configuration
 import logging
 import numpy as np
+from collections import deque
 
 class ds_logappender(logging.StreamHandler):
     def __init__(self, parent):
         self.parent = parent
         logging.StreamHandler.__init__(self=self)
     def emit(self, record):
-        if len(self.parent._logs) > 1023:
-            self.parent._logs.pop(0)
-        self.parent._logs.append(self.format(record))
+        #if len(self.parent._logs) > 1023:
+        #    self.parent._logs.pop(0)
+        self.parent._logs.appendleft(self.format(record))
 
         if record.levelno > logging.WARNING:
             self.parent.d_status['error'] = "Last Error: ({}) {}".format(record.asctime, record.msg)
@@ -238,7 +239,7 @@ class DG_PY_FOFBTool(Device):
 
         self.info_stream("FofbTool {}".format(FofbTool.__version__))
 
-        self._logs =  []
+        self._logs = deque(maxlen = DG_PY_FOFBTool.logs.dim_x)
         self._last_sync = ''
         self._last_start = ''
 
-- 
GitLab