Add timestamps to log

This commit is contained in:
jaseg 2023-12-26 15:12:12 +01:00
parent 4e865b82dc
commit d8991cbd71

View file

@ -111,12 +111,16 @@ digit_addresses = [
(3, 15), # 31
]
def log(*args):
timestamp = datetime.now().strftime('[%y-%m-%d %H:%M:%S]')
print(timestamp, *args)
def set_display(ser, message, interval, display_width, global_brightness):
lines = [ line for line in message.splitlines() if line.strip() ]
for i, line in enumerate(lines):
line = line.center(display_width)[:display_width]
line_mapped = [shuffle_segments(seg_map.get(c, seg_map['#'])) for c in line]
print(f' [Line {i+1}/{len(lines)}] Sending control data.')
log(f' [Line {i+1}/{len(lines)}] Sending control data.')
digit_data = [0x00] * 16 * 4
for (driver, address), data in zip(digit_addresses, line_mapped):
@ -166,7 +170,7 @@ def cli(database, port, baudrate, message_interval, display_width, global_bright
idle_seconds = int(interval)
idle_index += 1
print(f' [Idle {idle_index}/{len(idle_messages)}] {message}')
log(f' [Idle {idle_index}/{len(idle_messages)}] {message}')
set_display(ser, message, 0, display_width, global_brightness)
time.sleep(1)
@ -174,7 +178,7 @@ def cli(database, port, baudrate, message_interval, display_width, global_bright
queue_pressure = max(0, min((math.log10(max(1, count-3)) - 0.3) * message_interval*2/3, message_interval*1/3))
interval = message_interval - queue_pressure
print(f' Waiting interval of {message_interval:.1f} s with queue pressure {queue_pressure:.1f} from n={count} items for a total of {interval:.1f} s')
log(f' Waiting interval of {message_interval:.1f} s with queue pressure {queue_pressure:.1f} from n={count} items for a total of {interval:.1f} s')
rowid, message, timestamp, remote_ip, suppress_display = db.execute('''
@ -193,11 +197,11 @@ def cli(database, port, baudrate, message_interval, display_width, global_bright
else:
if discard > 0:
print(f'Discarded {discard} messages.')
log(f'Discarded {discard} messages.')
discard = 0
print(f'Queueing message by {remote_ip} received at {timestamp} ({delta//60:.0f}m {delta%60:.0f}s ago):')
print(' ', repr(message))
log(f'Queueing message by {remote_ip} received at {timestamp} ({delta//60:.0f}m {delta%60:.0f}s ago):')
log(' ', repr(message))
idle_seconds = 0
interval = max(5, interval/len(message.splitlines()))