Skip to content

Commit 22e2f12

Browse files
committed
include current datetime in the log files for httpOk
1 parent fcbac62 commit 22e2f12

File tree

2 files changed

+46
-54
lines changed

2 files changed

+46
-54
lines changed

superlance/httpok.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
import socket
106106
import sys
107107
import time
108+
import datetime
108109
from superlance.compat import urlparse
109110
from superlance.compat import xmlrpclib
110111

@@ -232,7 +233,7 @@ def act(self, subject, msg):
232233
messages = [msg]
233234

234235
def write(msg):
235-
self.stderr.write('%s\n' % msg)
236+
self.stderr.write('%s %s\n' % (datetime.datetime.now().isoformat(), msg))
236237
self.stderr.flush()
237238
messages.append(msg)
238239

@@ -284,7 +285,7 @@ def mail(self, email, subject, msg):
284285
body += msg
285286
with os.popen(self.sendmail, 'w') as m:
286287
m.write(body)
287-
self.stderr.write('Mailed:\n\n%s' % body)
288+
self.stderr.write('%s Mailed:\n\n%s' % (datetime.datetime.now().isoformat(), body))
288289
self.mailed = body
289290

290291
def restart(self, spec, write):

superlance/tests/httpok_test.py

Lines changed: 43 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -206,17 +206,15 @@ def test_runforever_eager_error_on_request_some(self):
206206
prog.stdin.seek(0)
207207
prog.runforever(test=True)
208208
lines = prog.stderr.getvalue().split('\n')
209-
self.assertEqual(lines[0],
210-
("Restarting selected processes ['foo', 'bar', "
211-
"'baz_01', 'notexisting']")
212-
)
213-
self.assertEqual(lines[1], 'foo is in RUNNING state, restarting')
214-
self.assertEqual(lines[2], 'foo restarted')
215-
self.assertEqual(lines[3], 'bar not in RUNNING state, NOT restarting')
216-
self.assertEqual(lines[4],
217-
'baz:baz_01 not in RUNNING state, NOT restarting')
218-
self.assertEqual(lines[5],
219-
"Programs not restarted because they did not exist: ['notexisting']")
209+
self.assertIn("Restarting selected processes ['foo', 'bar', "
210+
"'baz_01', 'notexisting']", lines[0])
211+
self.assertIn('foo is in RUNNING state, restarting', lines[1])
212+
self.assertIn('foo restarted', lines[2])
213+
self.assertIn('bar not in RUNNING state, NOT restarting', lines[3])
214+
self.assertIn('baz:baz_01 not in RUNNING state, NOT restarting',
215+
lines[4])
216+
self.assertIn("Programs not restarted because "
217+
"they did not exist: ['notexisting']", lines[5])
220218
mailed = prog.mailed.split('\n')
221219
self.assertEqual(len(mailed), 12)
222220
self.assertEqual(mailed[0], 'To: [email protected]')
@@ -231,12 +229,12 @@ def test_runforever_eager_error_on_request_any(self):
231229
prog.stdin.seek(0)
232230
prog.runforever(test=True)
233231
lines = prog.stderr.getvalue().split('\n')
234-
self.assertEqual(lines[0], 'Restarting all running processes')
235-
self.assertEqual(lines[1], 'foo is in RUNNING state, restarting')
236-
self.assertEqual(lines[2], 'foo restarted')
237-
self.assertEqual(lines[3], 'bar not in RUNNING state, NOT restarting')
238-
self.assertEqual(lines[4],
239-
'baz:baz_01 not in RUNNING state, NOT restarting')
232+
self.assertIn('Restarting all running processes', lines[0])
233+
self.assertIn('foo is in RUNNING state, restarting', lines[1])
234+
self.assertIn('foo restarted', lines[2])
235+
self.assertIn('bar not in RUNNING state, NOT restarting', lines[3])
236+
self.assertIn('baz:baz_01 not in RUNNING state, NOT restarting',
237+
lines[4])
240238
mailed = prog.mailed.split('\n')
241239
self.assertEqual(len(mailed), 11)
242240
self.assertEqual(mailed[0], 'To: [email protected]')
@@ -252,11 +250,11 @@ def test_runforever_eager_error_on_process_stop(self):
252250
prog.stdin.seek(0)
253251
prog.runforever(test=True)
254252
lines = prog.stderr.getvalue().split('\n')
255-
self.assertEqual(lines[0], "Restarting selected processes ['FAILED']")
256-
self.assertEqual(lines[1], 'foo:FAILED is in RUNNING state, restarting')
257-
self.assertEqual(lines[2],
258-
"Failed to stop process foo:FAILED: <Fault 30: 'FAILED'>")
259-
self.assertEqual(lines[3], 'foo:FAILED restarted')
253+
self.assertIn("Restarting selected processes ['FAILED']", lines[0])
254+
self.assertIn('foo:FAILED is in RUNNING state, restarting', lines[1])
255+
self.assertIn("Failed to stop process foo:FAILED: "
256+
"<Fault 30: 'FAILED'>", lines[2])
257+
self.assertIn('foo:FAILED restarted', lines[3])
260258
mailed = prog.mailed.split('\n')
261259
self.assertEqual(len(mailed), 10)
262260
self.assertEqual(mailed[0], 'To: [email protected]')
@@ -272,12 +270,11 @@ def test_runforever_eager_error_on_process_start(self):
272270
prog.stdin.seek(0)
273271
prog.runforever(test=True)
274272
lines = prog.stderr.getvalue().split('\n')
275-
self.assertEqual(lines[0],
276-
"Restarting selected processes ['SPAWN_ERROR']")
277-
self.assertEqual(lines[1],
278-
'foo:SPAWN_ERROR is in RUNNING state, restarting')
279-
self.assertEqual(lines[2],
280-
"Failed to start process foo:SPAWN_ERROR: <Fault 50: 'SPAWN_ERROR'>")
273+
self.assertIn("Restarting selected processes ['SPAWN_ERROR']", lines[0])
274+
self.assertIn('foo:SPAWN_ERROR is in RUNNING state, restarting',
275+
lines[1])
276+
self.assertIn("Failed to start process foo:SPAWN_ERROR: "
277+
"<Fault 50: 'SPAWN_ERROR'>", lines[2])
281278
mailed = prog.mailed.split('\n')
282279
self.assertEqual(len(mailed), 9)
283280
self.assertEqual(mailed[0], 'To: [email protected]')
@@ -293,20 +290,18 @@ def test_runforever_eager_gcore(self):
293290
prog.stdin.seek(0)
294291
prog.runforever(test=True)
295292
lines = prog.stderr.getvalue().split('\n')
296-
self.assertEqual(lines[0],
297-
("Restarting selected processes ['foo', 'bar', "
298-
"'baz_01', 'notexisting']")
299-
)
300-
self.assertEqual(lines[1], 'gcore output for foo:')
293+
self.assertIn("Restarting selected processes ['foo', 'bar', "
294+
"'baz_01', 'notexisting']", lines[0])
295+
self.assertIn('gcore output for foo:', lines[1])
301296
self.assertEqual(lines[2], '')
302297
self.assertEqual(lines[3], ' ')
303-
self.assertEqual(lines[4], 'foo is in RUNNING state, restarting')
304-
self.assertEqual(lines[5], 'foo restarted')
305-
self.assertEqual(lines[6], 'bar not in RUNNING state, NOT restarting')
306-
self.assertEqual(lines[7],
307-
'baz:baz_01 not in RUNNING state, NOT restarting')
308-
self.assertEqual(lines[8],
309-
"Programs not restarted because they did not exist: ['notexisting']")
298+
self.assertIn('foo is in RUNNING state, restarting', lines[4])
299+
self.assertIn('foo restarted', lines[5])
300+
self.assertIn('bar not in RUNNING state, NOT restarting', lines[6])
301+
self.assertIn('baz:baz_01 not in RUNNING state, NOT restarting',
302+
lines[7])
303+
self.assertIn("Programs not restarted because they did not exist: "
304+
"['notexisting']", lines[8])
310305
mailed = prog.mailed.split('\n')
311306
self.assertEqual(len(mailed), 15)
312307
self.assertEqual(mailed[0], 'To: [email protected]')
@@ -333,12 +328,10 @@ def test_runforever_not_eager_running(self):
333328
prog.stdin.seek(0)
334329
prog.runforever(test=True)
335330
lines = [x for x in prog.stderr.getvalue().split('\n') if x]
336-
self.assertEqual(lines[0],
337-
("Restarting selected processes ['foo', 'bar']")
338-
)
339-
self.assertEqual(lines[1], 'foo is in RUNNING state, restarting')
340-
self.assertEqual(lines[2], 'foo restarted')
341-
self.assertEqual(lines[3], 'bar not in RUNNING state, NOT restarting')
331+
self.assertIn("Restarting selected processes ['foo', 'bar']", lines[0])
332+
self.assertIn('foo is in RUNNING state, restarting', lines[1])
333+
self.assertIn('foo restarted', lines[2])
334+
self.assertIn('bar not in RUNNING state, NOT restarting', lines[3])
342335
mailed = prog.mailed.split('\n')
343336
self.assertEqual(len(mailed), 10)
344337
self.assertEqual(mailed[0], 'To: [email protected]')
@@ -368,12 +361,10 @@ def test_runforever_connrefused_error(self):
368361
prog.stdin.seek(0)
369362
prog.runforever(test=True)
370363
lines = [x for x in prog.stderr.getvalue().split('\n') if x]
371-
self.assertEqual(lines[0],
372-
("Restarting selected processes ['foo', 'bar']")
373-
)
374-
self.assertEqual(lines[1], 'foo is in RUNNING state, restarting')
375-
self.assertEqual(lines[2], 'foo restarted')
376-
self.assertEqual(lines[3], 'bar not in RUNNING state, NOT restarting')
364+
self.assertIn("Restarting selected processes ['foo', 'bar']", lines[0])
365+
self.assertIn('foo is in RUNNING state, restarting', lines[1])
366+
self.assertIn('foo restarted', lines[2])
367+
self.assertIn('bar not in RUNNING state, NOT restarting', lines[3])
377368
mailed = prog.mailed.split('\n')
378369
self.assertEqual(len(mailed), 10)
379370
self.assertEqual(mailed[0], 'To: [email protected]')

0 commit comments

Comments
 (0)