logging question

Neal D. Becker ndbecker2 at verizon.net
Thu Oct 28 08:45:25 EDT 2004


Why isn't my formatter used when I use DatagramHandler?

Here's the server:
#!/usr/bin/env python

import socket
import logging
import pickle

sock = socket.socket (socket.AF_INET, socket.SOCK_DGRAM)
sock.bind (("", 8881))

try:
    while (True):
        data, address = sock.recvfrom (8192)
        rec = logging.makeLogRecord (pickle.loads(data[4:]))
        print rec.msg, rec.args
        
finally:
    sock.close()

Here's the client:

import logging
import logging.handlers
import sys
import os

logger = logging.getLogger()
hdlr = logging.handlers.DatagramHandler ('rpppc1.md.hns.com', 8881)
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr) 
logger.setLevel(logging.INFO)

import time

while (True):
    logger.info (str (sys.argv)+":"+str(os.getpid())+":"+"hi")
    time.sleep (30)

Here's what gets printed:
['./logclient.py']:23913:hi ()

What happened to the formatter?




More information about the Python-list mailing list