skytools.skylog: moved hostaddr resolving to module init
authormartinko <gamato@users.sf.net>
Tue, 30 Apr 2013 09:38:00 +0000 (11:38 +0200)
committermartinko <gamato@users.sf.net>
Tue, 30 Apr 2013 09:38:00 +0000 (11:38 +0200)
No need to do it per log call as hostname is constant currently.

python/skytools/skylog.py

index e3f6308622e81b0b0e5bbac5fdf9936715442d49..02c7687e6deba3c19c6621e40e2ed69d45578d4a 100644 (file)
@@ -28,10 +28,15 @@ logging.addLevelName(TRACE, 'TRACE')
 _service_name = 'unknown_svc'
 _job_name = 'unknown_job'
 _hostname = socket.gethostname()
+try:
+    _hostaddr = socket.gethostbyname(_hostname)
+except:
+    _hostaddr = "0.0.0.0"
 _log_extra = {
     'job_name': _job_name,
     'service_name': _service_name,
     'hostname': _hostname,
+    'hostaddr': _hostaddr,
 }
 def set_service_name(service_name, job_name):
     """Set info about current script."""
@@ -110,10 +115,7 @@ class UdpLogServerHandler(logging.handlers.DatagramHandler):
             msg = msg[:self.MAXMSG]
         txt_level = self._level_map.get(record.levelno, "ERROR")
         hostname = _hostname
-        try:
-            hostaddr = socket.gethostbyname(hostname)
-        except:
-            hostaddr = "0.0.0.0"
+        hostaddr = _hostaddr
         jobname = _job_name
         svcname = _service_name
         pkt = self._log_template % (time.time()*1000, txt_level, skytools.quote_json(msg),