summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-09-09 17:51:37 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2022-09-09 17:51:37 +0200
commitbc4ce548db258f79f0841def89f1a70316cef43d (patch)
tree159cd59a5dd6371d311c43a4a44381c146ef3dc0
parentc4509c7a26391977ad01aa958b343e3fab1ffd02 (diff)
Improve debug
-rw-r--r--esds/debug.py8
-rw-r--r--esds/simulator.py6
2 files changed, 12 insertions, 2 deletions
diff --git a/esds/debug.py b/esds/debug.py
index 168033a..fe19745 100644
--- a/esds/debug.py
+++ b/esds/debug.py
@@ -11,6 +11,7 @@ class Debug:
self.simulator=simulator
self.file_path=file_path
self.loop_count=0
+ self.logs=list()
header={
"python_version" : sys.version,
"simulation_started_at": simulator.startat,
@@ -20,6 +21,9 @@ class Debug:
}
self.write(header,append=False)
+ def append_log(self,log):
+ self.logs.append(log)
+
def write(self,data, append=True):
mode="a" if append else "w"
with open(self.file_path, mode) as f:
@@ -95,6 +99,8 @@ class Debug:
"simulated_time_accurate": self.simulator.time,
"network_interfaces": self.get_network_interfaces(),
"events_list": self.get_events_list(),
- "nodes_infos": self.get_nodes_infos()
+ "nodes_infos": self.get_nodes_infos(),
+ "logs": self.logs
}
self.write(loop_data)
+ self.logs.clear()
diff --git a/esds/simulator.py b/esds/simulator.py
index 2ea77b9..fb52fec 100644
--- a/esds/simulator.py
+++ b/esds/simulator.py
@@ -50,6 +50,7 @@ class Simulator:
self.interferences=True
self.wait_end_nodes=list() # Keep track of nodes that wait for the end of the simulation
self.time_truncated=format(self.time,self.precision) # Truncated version is used in log print
+ self.debug=None # No debug by default
def update_network(self,netmat):
for event in self.events:
@@ -85,7 +86,10 @@ class Simulator:
def log(self,msg,node=None):
src = "esds" if node is None else "n"+str(node)
- print("[t="+str(self.time_truncated)+",src="+src+"] "+msg)
+ logline="[t="+str(self.time_truncated)+",src="+src+"] "+msg
+ if self.debug is not None:
+ self.debug.append_log(logline)
+ print(logline)
def sort_events(self):
"""