Skip to content

Commit c991de5

Browse files
committed
better log formatting when using syslog
1 parent 215f9f6 commit c991de5

File tree

3 files changed

+17
-14
lines changed

3 files changed

+17
-14
lines changed

pyres/__init__.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@ def special_log_file(filename):
1515
return True
1616
return False
1717

18-
def get_logging_handler(filename):
18+
def get_logging_handler(filename, procname, namespace=None):
19+
if namespace:
20+
message_format = namespace + ': %(message)s'
21+
else:
22+
message_format = '%(message)s'
23+
format = '%(asctime)s %(levelname)-8s ' + message_format
24+
1925
if not filename:
2026
filename = "stderr"
2127
if filename == "stderr":
@@ -35,6 +41,7 @@ def get_logging_handler(filename):
3541
raise Exception("Unable to figure out the syslog socket path")
3642

3743
handler = SysLogHandler(syslog_path, facility)
44+
format = procname + "[%(process)d]: " + message_format
3845
else:
3946
try:
4047
from logging.handlers import WatchedFileHandler
@@ -43,16 +50,15 @@ def get_logging_handler(filename):
4350
from logging.handlers import RotatingFileHandler
4451
handler = RotatingFileHandler(filename,maxBytes=52428800,
4552
backupCount=7)
53+
handler.setFormatter(logging.Formatter(format, '%Y-%m-%d %H:%M:%S'))
4654
return handler
4755

48-
def setup_logging(log_level=logging.INFO, filename=None):
56+
def setup_logging(procname, log_level=logging.INFO, filename=None):
4957
if log_level == logging.NOTSET:
5058
return
5159
logger = logging.getLogger()
5260
logger.setLevel(log_level)
53-
handler = get_logging_handler(filename)
54-
handler.setFormatter(logging.Formatter(
55-
'%(asctime)s %(levelname)-8s %(message)s', '%Y-%m-%d %H:%M:%S'))
61+
handler = get_logging_handler(filename, procname)
5662
logger.addHandler(handler)
5763

5864
def setup_pidfile(path):

pyres/horde.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,12 @@
1919
def setproctitle(name):
2020
pass
2121

22-
def setup_logging(namespace='', log_level=logging.INFO, log_file=None):
22+
def setup_logging(procname, namespace='', log_level=logging.INFO, log_file=None):
2323

2424
logger = multiprocessing.get_logger()
2525
#logger = multiprocessing.log_to_stderr()
2626
logger.setLevel(log_level)
27-
format = '%(asctime)s %(levelname)s '+namespace+': %(message)s'
28-
handler = get_logging_handler(log_file)
29-
handler.setFormatter(logging.Formatter((format)))
27+
handler = get_logging_handler(procname, log_file, namespace)
3028
logger.addHandler(handler)
3129
return logger
3230

@@ -156,7 +154,7 @@ def run(self):
156154
else:
157155
self.log_file = os.path.join(self.log_path, 'minion-%s.log' % self.pid)
158156
namespace = 'minion:%s' % self.pid
159-
self.logger = setup_logging(namespace, self.log_level, self.log_file)
157+
self.logger = setup_logging('minion', namespace, self.log_level, self.log_file)
160158
#self.clear_logger()
161159
if isinstance(self.server,basestring):
162160
self.resq = ResQ(server=self.server, password=self.password)
@@ -311,13 +309,12 @@ def setup_minions(self):
311309
self._add_minion()
312310

313311
def _setup_logging(self):
314-
self.logger = setup_logging('khan', self.logging_level, self.log_file)
312+
self.logger = setup_logging('khan', 'khan', self.logging_level, self.log_file)
315313

316314
def work(self, interval=2):
317315
setproctitle('pyres_manager: Starting')
318316
self.startup()
319317
self.setup_minions()
320-
#self.logger = setup_logging('khan', self.logging_level, self.log_file)
321318
self._setup_logging()
322319
self.logger.info('Running as pid: %s' % self.pid)
323320
self.logger.info('Added %s child processes' % self.pool_size)

pyres/scripts.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def pyres_scheduler():
5454
(options,args) = parser.parse_args()
5555
log_level = getattr(logging, options.log_level.upper(),'INFO')
5656
#logging.basicConfig(level=log_level, format="%(module)s: %(asctime)s: %(levelname)s: %(message)s")
57-
setup_logging(log_level=log_level, filename=options.logfile)
57+
setup_logging(procname="pyres_scheduler", log_level=log_level, filename=options.logfile)
5858
setup_pidfile(options.pidfile)
5959
server = '%s:%s' % (options.host, options.port)
6060
Scheduler.run(server)
@@ -103,7 +103,7 @@ def pyres_worker():
103103
parser.error("Argument must be a comma seperated list of queues")
104104

105105
log_level = getattr(logging, options.log_level.upper(), 'INFO')
106-
setup_logging(log_level=log_level, filename=options.logfile)
106+
setup_logging(procname="pyres_worker", log_level=log_level, filename=options.logfile)
107107
setup_pidfile(options.pidfile)
108108

109109
interval = options.interval

0 commit comments

Comments
 (0)