@@ -55,9 +55,9 @@ def pre_start(self):
55
55
56
56
total_fed_count = 0
57
57
58
- # broker hosts --> ip:port --> fed-count
58
+ # broker hosts --> ip:port --> ['fed_count', 'log_level']
59
59
# hosts to create start scripts for, ip:port combos to create sub brokers for
60
- brokers = {}
60
+ brokers = {}
61
61
federates = self .extract_annotated_topology_nodes ('helics/federate' )
62
62
63
63
for fed in federates :
@@ -72,6 +72,7 @@ def pre_start(self):
72
72
for config in configs :
73
73
broker = config .get ('broker' , '127.0.0.1' )
74
74
count = config .get ('fed-count' , 1 )
75
+ level = config .get ('log-level' , 'SUMMARY' )
75
76
76
77
total_fed_count += count
77
78
@@ -105,8 +106,12 @@ def pre_start(self):
105
106
self .add_label (hostname , 'group' , 'helics' )
106
107
self .add_label (hostname , 'helics' , 'broker' )
107
108
108
- entry = brokers .get (hostname , {broker_ip : 0 })
109
- entry [broker ] += count
109
+ entry = brokers .get (hostname , {broker_ip : [0 , None ]})
110
+ entry [broker ][0 ] += count
111
+
112
+ # only overwrite the log level if it wasn't already set
113
+ if entry [broker ][1 ] == None :
114
+ entry [broker ][1 ] = level
110
115
111
116
brokers [hostname ] = entry
112
117
@@ -128,14 +133,17 @@ def pre_start(self):
128
133
broker_configs = configs .get (hostname , [])
129
134
130
135
# individual sub brokers for host (there will usually just be one)
131
- for endpoint , feds in subs .items ():
136
+ for endpoint , fedinfo in subs .items ():
132
137
root_broker_config ['subs' ] += 1
133
138
139
+ count = fedinfo [0 ]
140
+ level = fedinfo [1 ]
141
+
134
142
broker_configs .append ({
135
- 'feds' : feds ,
143
+ 'feds' : count ,
136
144
'parent' : root_ip ,
137
145
'endpoint' : endpoint ,
138
- 'log-level' : broker_md . get ( 'log- level' , 'summary' ) ,
146
+ 'log-level' : level ,
139
147
'log-file' : os .path .join (log_dir , 'helics-sub-broker.log' ),
140
148
})
141
149
0 commit comments