Commit 8552e1805babc6d6f6546d80a9456e35a07fda63

Authored by David RENÉ
1 parent 88fedcba

[+] add logLevel into logger

net_services/CXM_generic_client.anubis
... ... @@ -8,6 +8,7 @@
8 8 */
9 9  
10 10 transmit system/message_transceiver.anubis
  11 +transmit system/logger.anubis
11 12 transmit calexium_lib/net_services_protocols/logger_service.anubis
12 13  
13 14 transmit calexium_lib/CXM_message_constants.anubis
... ... @@ -66,24 +67,24 @@ public define Maybe(NetServiceAnswer)
66 67 */
67 68 generic_send_message
68 69 (
69   - MessageQueue queue,
70   - Message msg_to_send,
71   - Int timeout,
72   - String logger_name
  70 + MessageQueue queue,
  71 + Message msg_to_send,
  72 + Int timeout,
  73 + (LogLevel, String) -> One logger
73 74 )=
74 75 queue.add_Message_to_send(msg_to_send);
75 76 if queue.get_next_received_Message(timeout) is
76 77 {
77   - timeout then logError(logger_name, "["+queue.get_name(unique)+"]: receive timeout");failure,
78   - closed then logError(logger_name, "["+queue.get_name(unique)+"]: socket closed");failure,
  78 + timeout then logger(logError, "["+queue.get_name(unique)+"]: receive timeout");failure,
  79 + closed then logger(logError, "["+queue.get_name(unique)+"]: socket closed");failure,
79 80 msg(msg) then
80 81 if find_int32(msg, "CMD") is
81 82 {
82   - failure then logError(logger_name, "["+queue.get_name(unique)+"]: CMD field not found"); failure,
  83 + failure then logger(logError, "["+queue.get_name(unique)+"]: CMD field not found"); failure,
83 84 success(cmd) then
84 85 if find_int32(msg, "STATUS") is
85 86 {
86   - failure then logError(logger_name, "["+queue.get_name(unique)+"]: STATUS field not found"); failure,
  87 + failure then logger(logError, "["+queue.get_name(unique)+"]: STATUS field not found"); failure,
87 88 success(v) then
88 89 if v = _CXM_OK then
89 90 success(netservice_ok(cmd, find_message(msg, "RESULT")))
... ... @@ -102,7 +103,7 @@ public define Maybe($T)
102 103 Int timeout,
103 104 Message msg_to_send,
104 105 (Message, MessageQueue, String) -> Maybe($T) handler,
105   - (String) -> One logger
  106 + (LogLevel, String) -> One logger
106 107 ) =
107 108 if generic_send_message(queue, msg_to_send, timeout, logger) is
108 109 {
... ... @@ -111,12 +112,12 @@ public define Maybe($T)
111 112 if net_result is
112 113 {
113 114 netservice_error(cmd, err_code, err_str) then
114   - logger("["+queue.get_name(unique)+"]: message status ERROR [0x" + to_hexa(err_code) + ", '" + err_str + "']");
  115 + logger(logError, "["+queue.get_name(unique)+"]: message status ERROR [0x" + to_hexa(err_code) + ", '" + err_str + "']");
115 116 failure,
116 117 netservice_ok(cmd, mb_msg) then
117 118 if mb_msg is
118 119 {
119   - failure then logger("["+queue.get_name(unique)+"]: can't find RESULT message."); failure,
  120 + failure then logger(logError,"["+queue.get_name(unique)+"]: can't find RESULT message."); failure,
120 121 success(result) then handler(result, queue, timestamp)
121 122 }
122 123 }
... ... @@ -125,10 +126,10 @@ public define Maybe($T)
125 126 public define Maybe(One)
126 127 no_result_handler
127 128 (
128   - MessageQueue queue,
129   - Int timeout,
130   - Message msg_to_send,
131   - (String) -> One logger
  129 + MessageQueue queue,
  130 + Int timeout,
  131 + Message msg_to_send,
  132 + (LogLevel, String) -> One logger
132 133 ) =
133 134 if generic_send_message(queue, msg_to_send, timeout, logger) is
134 135 {
... ... @@ -137,13 +138,13 @@ public define Maybe(One)
137 138 if net_result is
138 139 {
139 140 netservice_error(cmd, err_code, err_str) then
140   - logger("["+queue.get_name(unique)+"]: message status ERROR [0x" + to_hexa(err_code) + ", '" + err_str + "']");
  141 + logger(logError, "["+queue.get_name(unique)+"]: message status ERROR [0x" + to_hexa(err_code) + ", '" + err_str + "']");
141 142 failure,
142 143 netservice_ok(cmd, mb_msg) then
143 144 if mb_msg is
144 145 {
145 146 failure then unique,
146   - success(result) then logger("An unattended RESULT msg was found. Ignoring it...")
  147 + success(result) then logger(logError, "An unattended RESULT msg was found. Ignoring it...")
147 148 };
148 149 success(unique)
149 150 }
... ... @@ -155,7 +156,7 @@ public define (MessageQueue, String) -> Maybe($T)
155 156 Int timeout,
156 157 Message msg_to_send,
157 158 (Message, MessageQueue, String) -> Maybe($T) handler,
158   - (String) -> One logger
  159 + (LogLevel, String) -> One logger
159 160 ) =
160 161 (MessageQueue queue, String timestamp) |->
161 162 simple_handler(queue, timestamp, timeout, msg_to_send, handler, logger).
... ... @@ -168,7 +169,7 @@ define Maybe($T)
168 169 Word32 service_version,
169 170 String domain,
170 171 (MessageQueue, String) -> Maybe($T) handler,
171   - (String) -> One logger
  172 + (LogLevel, String) -> One logger
172 173 )=
173 174 with test_msg = message(_CXM_REQUEST_FOR_SERVICE),
174 175 forget(add_int32(test_msg, "SERVICE", service_id));
... ... @@ -177,71 +178,71 @@ define Maybe($T)
177 178 queue.add_Message_to_send(test_msg);
178 179 if queue.get_next_received_Message(10) is
179 180 {
180   - timeout then logger("["+queue.get_name(unique)+"]: requesting service receive timeout");failure,
181   - closed then logger("["+queue.get_name(unique)+"]: requesting service socket closed");failure,
  181 + timeout then logger(logError, "["+queue.get_name(unique)+"]: requesting service receive timeout");failure,
  182 + closed then logger(logError, "["+queue.get_name(unique)+"]: requesting service socket closed");failure,
182 183 msg(msg) then
183 184 if find_int32(msg, "STATUS") is
184 185 {
185   - failure then logger("["+queue.get_name(unique)+"]: requesting service STATUS not found");failure,
  186 + failure then logger(logError, "["+queue.get_name(unique)+"]: requesting service STATUS not found");failure,
186 187 success(v) then
187 188 if v = _CXM_OK then
188 189 if find_message(msg, "RESULT") is
189 190 {
190   - failure then logger("["+queue.get_name(unique)+"]: requesting service RESULT not found");failure,
  191 + failure then logger(logError, "["+queue.get_name(unique)+"]: requesting service RESULT not found");failure,
191 192 success(result) then
192 193 with timestamp = if find_string(result, "TIMESTAMP") is
193 194 {
194   - failure then logger("["+queue.get_name(unique)+"]: requesting service TIMESTAMP not found"); "",
  195 + failure then logger(logError, "["+queue.get_name(unique)+"]: requesting service TIMESTAMP not found"); "",
195 196 success(timestamp) then timestamp
196 197 },
197 198 handler(queue, timestamp)
198 199 }
199 200 else
200   - logger("["+queue.get_name(unique)+"]: the requested service is not available on server.");failure
  201 + logger(logError, "["+queue.get_name(unique)+"]: the requested service is not available on server.");failure
201 202 }
202 203 }.
203 204  
204   -define Maybe($T)
205   - generic_request_for_service
206   - (
207   - MessageQueue queue,
208   - Word32 service_id,
209   - Word32 service_version,
210   - String domain,
211   - (MessageQueue, String) -> Maybe($T) handler,
212   - String logger
213   - )=
214   - with test_msg = message(_CXM_REQUEST_FOR_SERVICE),
215   - forget(add_int32(test_msg, "SERVICE", service_id));
216   - forget(add_int32(test_msg, "VERSION", service_version));
217   - forget(add_string(test_msg, "DOMAIN", domain));
218   - queue.add_Message_to_send(test_msg);
219   - if queue.get_next_received_Message(10) is
220   - {
221   - timeout then logError(logger, "["+queue.get_name(unique)+"]: requesting service receive timeout");failure,
222   - closed then logError(logger, "["+queue.get_name(unique)+"]: requesting service socket closed");failure,
223   - msg(msg) then
224   - if find_int32(msg, "STATUS") is
225   - {
226   - failure then logError(logger, "["+queue.get_name(unique)+"]: requesting service STATUS not found");failure,
227   - success(v) then
228   - if v = _CXM_OK then
229   - if find_message(msg, "RESULT") is
230   - {
231   - failure then logError(logger, "["+queue.get_name(unique)+"]: requesting service RESULT not found");failure,
232   - success(result) then
233   - with timestamp = if find_string(result, "TIMESTAMP") is
234   - {
235   - failure then logError(logger, "["+queue.get_name(unique)+"]: requesting service TIMESTAMP not found"); "",
236   - success(timestamp) then timestamp
237   - },
238   - handler(queue, timestamp)
239   - }
240   - else
241   - logError(logger, "["+queue.get_name(unique)+"]: the requested service is not available on server.");failure
242   - }
243   - }.
244   -
  205 +// define Maybe($T)
  206 +// generic_request_for_service
  207 +// (
  208 +// MessageQueue queue,
  209 +// Word32 service_id,
  210 +// Word32 service_version,
  211 +// String domain,
  212 +// (MessageQueue, String) -> Maybe($T) handler,
  213 +// (LogLevel, String) -> One logger
  214 +// )=
  215 +// with test_msg = message(_CXM_REQUEST_FOR_SERVICE),
  216 +// forget(add_int32(test_msg, "SERVICE", service_id));
  217 +// forget(add_int32(test_msg, "VERSION", service_version));
  218 +// forget(add_string(test_msg, "DOMAIN", domain));
  219 +// queue.add_Message_to_send(test_msg);
  220 +// if queue.get_next_received_Message(10) is
  221 +// {
  222 +// timeout then logger(logError, "["+queue.get_name(unique)+"]: requesting service receive timeout");failure,
  223 +// closed then logger(logError, "["+queue.get_name(unique)+"]: requesting service socket closed");failure,
  224 +// msg(msg) then
  225 +// if find_int32(msg, "STATUS") is
  226 +// {
  227 +// failure then logger(logError, "["+queue.get_name(unique)+"]: requesting service STATUS not found");failure,
  228 +// success(v) then
  229 +// if v = _CXM_OK then
  230 +// if find_message(msg, "RESULT") is
  231 +// {
  232 +// failure then logger(logError, "["+queue.get_name(unique)+"]: requesting service RESULT not found");failure,
  233 +// success(result) then
  234 +// with timestamp = if find_string(result, "TIMESTAMP") is
  235 +// {
  236 +// failure then logger(logError, "["+queue.get_name(unique)+"]: requesting service TIMESTAMP not found"); "",
  237 +// success(timestamp) then timestamp
  238 +// },
  239 +// handler(queue, timestamp)
  240 +// }
  241 +// else
  242 +// logger(logError, "["+queue.get_name(unique)+"]: the requested service is not available on server.");failure
  243 +// }
  244 +// }.
  245 +//
245 246 public define Maybe(MessageQueue)
246 247 get_message_queue_to_net_service
247 248 (
... ... @@ -252,12 +253,12 @@ public define Maybe(MessageQueue)
252 253 Word32 service_version,
253 254 String domain,
254 255 (MessageQueue, String) -> Maybe(One) handler, //1st function to apply if need (i.e authentication to remote service)
255   - String logger
  256 + (LogLevel, String) -> One logger
256 257 )
257 258 =
258 259 if connect( server, port) is
259 260 {
260   - error(_) then logError(logger, queue_name + ": Can't connect to service ["+ip_addr_to_string(server)+":"+port+"]");failure,
  261 + error(_) then logger(logError, queue_name + ": Can't connect to service ["+ip_addr_to_string(server)+":"+port+"]");failure,
261 262 ok(conn) then
262 263 // println("[" + virtual_machine_id + "] netservices create queue");
263 264 with queue = create_MessageQueue(queue_name, tcp(conn)),
... ... @@ -267,7 +268,7 @@ public define Maybe(MessageQueue)
267 268 {
268 269 failure then
269 270 //we can't apply first function correctly, so we ask to Message Queue to quit and return failure
270   - logError(logger, "can't apply first function correctly");
  271 + logger(logError, "can't apply first function correctly");
271 272 queue.quit(unique);
272 273 failure,
273 274 success(_) then success(queue)
... ... @@ -285,12 +286,12 @@ public define Maybe($T)
285 286 Word32 service_version,
286 287 String domain,
287 288 (MessageQueue, String) -> Maybe($T) handler,
288   - (String) -> One logger
  289 + (LogLevel, String) -> One logger
289 290 )
290 291 =
291 292 if connect( server, port) is
292 293 {
293   - error(_) then logger(queue_name + ": Can't connect to service ["+ip_addr_to_string(server)+":"+port+"]");failure,
  294 + error(_) then logger(logError, queue_name + ": Can't connect to service ["+ip_addr_to_string(server)+":"+port+"]");failure,
294 295 ok(conn) then
295 296 // println("[" + virtual_machine_id + "] netservices create queue");
296 297 with queue = create_MessageQueue(queue_name, tcp(conn)),
... ... @@ -313,7 +314,7 @@ public define Maybe($T)
313 314 Word32 service_id,
314 315 Word32 service_version,
315 316 (MessageQueue, String) -> Maybe($T) handler,
316   - (String) -> One logger
  317 + (LogLevel, String) -> One logger
317 318 )
318 319 =
319 320 generic_connect_to_net_service(queue_name, server, port, service_id, service_version, "", handler, logger).
... ... @@ -322,37 +323,38 @@ define Word32
322 323 get_ip
323 324 (
324 325 String url_or_ip,
325   - (String) -> One logger
  326 + (LogLevel, String) -> One logger
326 327 ) =
327   - //logInfo(debug_log,"Try to resolve URL [" + url_or_ip+ "].");
  328 + logger(logTrace, "Try to resolve URL [" + url_or_ip+ "].");
328 329 if ip_address(url_or_ip) is success(ip) then
329   - //logInfo(debug_log,"Try to resolve URL OK ip"+ip);
  330 + logger(logTrace, "Try to resolve URL OK ip"+ip);
330 331 ip
331 332 else if dns(url_or_ip) is ok(ip_adr) then
332   - //logInfo(debug_log,"Try to resolve URL OK dns"+ip_adr);
  333 + logger(logTrace, "Try to resolve URL OK dns"+ip_adr);
333 334 ip_adr
334 335 else
335   - logger("Can't resolve URL [" + url_or_ip+ "]. Using localhost.");
  336 + logger(logError, "Can't resolve URL [" + url_or_ip+ "]. Using localhost (127.0.0.1) .");
336 337 ip_address((127,0,0,1)).
337 338  
338 339  
339 340 public define Maybe(Word32)
340 341 mb_get_ip
341 342 (
342   - String url_or_ip
  343 + String url_or_ip,
  344 + (LogLevel, String) -> One logger
343 345 ) =
344   - //logInfo(debug_log,"Try to resolve URL [" + url_or_ip+ "].");
  346 + logger(logTrace, "Try to resolve URL [" + url_or_ip+ "].");
345 347 if ip_address(url_or_ip) is success(ip) then
346   - //logInfo(debug_log,"Try to resolve URL OK ip"+ip);
  348 + logger(logTrace, "Try to resolve URL OK ip"+ip);
347 349 success(ip)
348 350 else if dns(url_or_ip) is ok(ip_adr) then
349   - //logInfo(debug_log,"Try to resolve URL OK dns"+ip_adr);
  351 + logger(logTrace, "Try to resolve URL OK dns"+ip_adr);
350 352 success(ip_adr)
351 353 else
352   - println("Can't resolve URL [" + url_or_ip+ "].");
  354 + logger(logError, "Can't resolve URL [" + url_or_ip+ "].");
353 355 failure.
354 356  
355   -public define Word32
  357 + public define Word32
356 358 get_ip
357 359 (
358 360 String url_or_ip
... ... @@ -377,7 +379,7 @@ public define Maybe($T)
377 379 Word32 service_version,
378 380 String domain,
379 381 (MessageQueue, String) -> Maybe($T) handler,
380   - (String) -> One logger
  382 + (LogLevel, String) -> One logger
381 383 )
382 384 = generic_connect_to_net_service(queue_name, get_ip(server, logger), port, service_id, service_version, domain, handler, logger).
383 385  
... ... @@ -390,7 +392,7 @@ public define Maybe($T)
390 392 Word32 service_id,
391 393 Word32 service_version,
392 394 (MessageQueue, String) -> Maybe($T) handler,
393   - (String) -> One logger
  395 + (LogLevel, String) -> One logger
394 396 )
395 397 = generic_connect_to_net_service(queue_name, server, port, service_id, service_version, "", handler, logger).
396 398  
... ... @@ -407,12 +409,12 @@ public define Maybe($T)
407 409 Word32 service_version,
408 410 String domain,
409 411 (MessageQueue, String) -> Maybe($T) handler,
410   - (String) -> One logger
  412 + (LogLevel, String) -> One logger
411 413 )
412 414 =
413 415 if open_SSL_connection( server_name, server_ip, port, accept_policy) is
414 416 {
415   - error(_) then logger(queue_name + ": Can't connect to domain manager ["+ip_addr_to_string(server_ip)+":"+port+"]");failure,
  417 + error(_) then logger(logError, queue_name + ": Can't connect to domain manager ["+ip_addr_to_string(server_ip)+":"+port+"]");failure,
416 418 ok(conn) then
417 419 with queue = create_MessageQueue(queue_name, ssl(conn)),
418 420 message_transceiver(/*ssl(conn),*/ queue);
... ... @@ -434,7 +436,7 @@ public define Maybe($T)
434 436 Word32 service_id,
435 437 Word32 service_version,
436 438 (MessageQueue, String) -> Maybe($T) handler,
437   - (String) -> One logger
  439 + (LogLevel, String) -> One logger
438 440 )
439 441 = generic_connect_to_net_service_SSL(queue_name, server_name, server_ip, port, accept_policy, service_id, service_version, "", handler, logger).
440 442  
... ...
net_services/CXM_net_services.anubis
... ... @@ -13,6 +13,7 @@ read system/muscle.anubis
13 13 read system/data_io.anubis
14 14 read system/message_queue.anubis
15 15 read system/message_transceiver.anubis
  16 +read system/logger.anubis
16 17 read CXM_generic_protocol.anubis
17 18 read calexium_lib/CXM_message_constants.anubis
18 19  
... ... @@ -22,24 +23,27 @@ public type NetService:
22 23 Word32 id,
23 24 String name,
24 25 List(String) domains,
25   - (MessageQueue, String, String) -> One handler // Parameters are MessageQueue, peer IP and timestamp string
26   - ).
  26 + (MessageQueue, String, String, (LogLevel, String) -> One ) -> One handler // Parameters are MessageQueue, peer IP and timestamp string, logger
  27 + )
  28 +.
27 29  
28   -define One
29   - print_services
  30 +define String
  31 + dump_services
30 32 (
31 33 List(NetService) net_services
32 34 ) =
33   -
34   - map_forget((NetService net_s)|->
35   - if net_s is net_service(version, id, name, domains, _) then
36   - println(" id : 0x"+ to_hexa(id));
37   - println(" version : " + to_String(version));
38   - println(" name : "+ name );
39   - println(" domains : ");
40   - map_forget((String domain) |-> println(" : "+domain), domains);
41   - println("----------------------------------------")
42   - ,net_services).
  35 + join("\n", map((NetService net_s)
  36 + |->
  37 + if net_s is net_service(version, id, name, domains, _) then
  38 + " id : 0x"+ to_hexa(id)+"\n"+
  39 + " version : " + to_String(version)+"\n"+
  40 + " name : "+ name +"\n"+
  41 + " domains : "+"\n"+
  42 + join("\n",map((String domain) |-> " : "+domain, domains))+"\n"+
  43 + "----------------------------------------\n"
  44 + ,net_services)
  45 + )
  46 +.
43 47  
44 48 /** Try to find the service_id in services_list. If the service is found in that list
45 49 * the corresponding NetService object is return
... ... @@ -47,14 +51,14 @@ define One
47 51 define Maybe(NetService)
48 52 find_service
49 53 (
50   - List(NetService) services_list,
51   - Word32 service_id,
52   - Word32 service_version,
53   - String domain
  54 + List(NetService) services_list, //List of all available NetService
  55 + Word32 service_id, //requested service ID
  56 + Word32 service_version, //requested service Version
  57 + String domain //requested domain for above resquested service ID/version
54 58 )=
55 59 if services_list is
56 60 {
57   - [] then failure,
  61 + [] then failure,
58 62 [h . t] then
59 63 if h.id = service_id & h.version >=+ service_version then
60 64 if domain = "" then
... ... @@ -65,7 +69,8 @@ define Maybe(NetService)
65 69 find_service(t, service_id, service_version, domain)
66 70 else
67 71 find_service(t, service_id, service_version, domain)
68   - }.
  72 + }
  73 +.
69 74  
70 75 /** Check if the muscle message msg has the correct fields for requesting a net_services
71 76 * if we found "service" and "version" fields on the message, we try to find if the service
... ... @@ -111,7 +116,8 @@ define Maybe(NetService)
111 116 success(domain) then find_service(net_services, service_id, service_version, domain)
112 117 }
113 118 }
114   - }.
  119 + }
  120 +.
115 121  
116 122 define String
117 123 get_time_stamp
... ... @@ -127,23 +133,26 @@ define String
127 133 define One
128 134 service_negociation
129 135 (
130   - MessageQueue queue,
131   - Message msg,
132   - List(NetService) net_services,
133   - String peer
  136 + MessageQueue queue,
  137 + Message msg,
  138 + List(NetService) net_services,
  139 + String peer,
  140 + (LogLevel, String) -> One logger
134 141 )=
135   - //println("Service NEGOCIATION [" + to_hexa(*msg.what) + "] received");
  142 + logger(logTrace, "Service NEGOCIATION [" + to_hexa(*msg.what) + "] received");
136 143 if * msg.what = _CXM_REQUEST_FOR_SERVICE then
137 144 if has_service(queue, msg, net_services) is
138 145 {
139 146 failure then
  147 + logger(logError, "Unknown service");
140 148 send_ACK_error(queue, _CXM_REQUEST_FOR_SERVICE, _CXM_UNKNOW_SERVICE, "Unknown service")
  149 +
141 150 success(net_service) then
142 151 with result = message(0),
143 152 timestamp = get_time_stamp,
144 153 forget(add_string(result, "TIMESTAMP", timestamp));
145 154 send_ACK_ok(queue, _CXM_REQUEST_FOR_SERVICE, result);
146   - net_service.handler(queue, peer, timestamp)
  155 + net_service.handler(queue, peer, timestamp, logger)
147 156 }
148 157 else
149 158 send_ACK_error(queue, *msg.what, _CXM_UNKNOW_CMD, "Unknown command [" + (*msg.what) + "]")
... ... @@ -155,59 +164,64 @@ define One
155 164 public define One
156 165 message_receiver
157 166 (
158   - MessageQueue queue,
159   - List(NetService) net_services,
160   - String peer
  167 + MessageQueue queue,
  168 + List(NetService) net_services,
  169 + String peer,
  170 + (LogLevel, String) -> One logger
161 171 ) =
162 172 if queue.quit_requested(unique) then
163 173 unique
164 174 else
165   - //println("PRE SERVICE message_receiver "+"["+virtual_machine_id + "]");
  175 + logger(logTrace,"PRE SERVICE message_receiver ["+virtual_machine_id + "]");
166 176 if queue.get_next_received_Message(1) is
167 177 {
168 178 timeout then //println("PRE timeout");
169   - message_receiver(queue, net_services, peer),
170   - closed then //println("PRE closed");
  179 + message_receiver(queue, net_services, peer, logger),
  180 + closed then
  181 + logger(logTrace,"PRE SERVICE message_receiver ["+virtual_machine_id + "] closed");
171 182 unique,
172 183 msg(msg) then unique; //println("PRE negociation");
173   - service_negociation(queue, msg, net_services, peer);
174   - message_receiver(queue, net_services, peer)
  184 + service_negociation(queue, msg, net_services, peer, logger);
  185 + message_receiver(queue, net_services, peer, logger)
175 186 }.
176 187  
177 188 define Server -> (RWStream) -> One
178 189 net_services_handler
179 190 (
180   - List(NetService) net_services,
  191 + List(NetService) net_services,
  192 + (LogLevel, String) -> One logger
181 193 ) =
182 194 (Server server) |-> (RWStream conn) |->
183 195 if remote_IP_address_and_port(conn) is (num_peer,_) then
184 196 //convert IP address of the client to string
185 197 with peer = ip_addr_to_string(num_peer),
186   - //println("NET SERVICES Accepting connection with "+peer);
  198 + logger(logInfo,"NET SERVICES Accepting connection with "+peer);
187 199  
188 200 //now managing the list of SERVICES
189 201 with queue = create_MessageQueue("CXM Net Services", tcp(conn)),
190   - message_transceiver(/*conn,*/ queue);
191   - message_receiver(queue, net_services, peer).
  202 + message_transceiver(queue);
  203 + message_receiver(queue, net_services, peer, logger).
192 204  
193 205  
194 206 public define Maybe(Server)
195 207 start_net_services
196 208 (
197   - List(NetService) net_services,
198   - Word32 network_port,
  209 + List(NetService) net_services,
  210 + Word32 network_port,
  211 + (LogLevel, String) -> One logger
199 212 )=
200 213 if start_server(0,
201 214 network_port,
202   - net_services_handler(net_services),
  215 + net_services_handler(net_services, logger),
203 216 (One u) |-> unique) is
204 217 {
205   - cannot_create_the_socket then println("Cannot create the listening socket."); failure,
206   - cannot_bind_to_port then println("Cannot bind to port " + network_port ); failure,
207   - cannot_listen_on_port then println("Cannot listen on port " + network_port); failure,
  218 + cannot_create_the_socket then logger(logError, "Cannot create the listening socket."); failure,
  219 + cannot_bind_to_port then logger(logError, "Cannot bind to port " + network_port); failure,
  220 + cannot_listen_on_port then logger(logError, "Cannot listen on port " + network_port); failure,
208 221 ok(server) then
209   - println("Net services started on port " + network_port);
210   - println("------ Available services ------");
211   - print_services(net_services);
  222 + logger(logInfo, "Net services started on port " + network_port);
  223 + logger(logInfo, "------ Available services ------");
  224 + logger(logInfo, dump_services(net_services));
212 225 success(server)
213   - }.
  226 + }
  227 +.
... ...
net_services_protocols/ftp_client.anubis
... ... @@ -145,18 +145,19 @@ public define Maybe(One)
145 145 String remote_file,
146 146 String local_file,
147 147 Bool ftp,
  148 + (LogLevel, String) -> One logger
148 149 ) =
149   - if mb_get_ip(server) is
  150 + if mb_get_ip(server, logger) is
150 151 {
151   - failure then println("server "+server+" DNS error");failure,
  152 + failure then logger(logError, "server "+server+" DNS error");failure,
152 153 success(ip_adr) then
153 154 if connect( ip_adr, ip_port) is
154 155 {
155   - error(_) then println("can't connect to ftp server"); failure,
  156 + error(_) then logger(logError, "can't connect to ftp server"); failure,
156 157 ok(conn) then
157 158 with queue = create_MessageQueue("ftp_get_file", tcp(conn)),
158 159 message_transceiver(/*conn,*/ queue);
159   - println("request for ftp service");
  160 + logger(logInfo, "request for ftp service");
160 161 if request_for_service(queue) then
161 162 with result = get_file(queue, remote_file, local_file, ftp),
162 163 queue.quit(unique);result
... ... @@ -177,6 +178,7 @@ public define Maybe(One)
177 178 Word32 ip_port,
178 179 String remote_file,
179 180 String local_file,
  181 + (LogLevel, String) -> One logger
180 182 ) =
181   - ftp_get_file(server, ip_port, remote_file, local_file, false).
  183 + ftp_get_file(server, ip_port, remote_file, local_file, false, logger).
182 184  
... ...