aboutsummaryrefslogtreecommitdiff
path: root/scripts/rpki/log.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2007-12-13 01:08:12 +0000
committerRob Austein <sra@hactrn.net>2007-12-13 01:08:12 +0000
commit860f22425ed8e45de79309cf8839f25de6d0a1f2 (patch)
tree5523583034c467ed3568c08c4ef3cff9b90e8032 /scripts/rpki/log.py
parent040eea32537b17fde27ece002a71cf90e616e55a (diff)
Start on a syslog()-based logging system
svn path=/scripts/biz-certs/Bob-CA.srl; revision=1377
Diffstat (limited to 'scripts/rpki/log.py')
-rw-r--r--scripts/rpki/log.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/rpki/log.py b/scripts/rpki/log.py
new file mode 100644
index 00000000..f8a0844b
--- /dev/null
+++ b/scripts/rpki/log.py
@@ -0,0 +1,36 @@
+# $Id$
+
+"""Logging facilities for RPKI libraries.
+"""
+
+import syslog, traceback
+
+def init(ident = "rpki"):
+ """Initialize logging system."""
+ return syslog.openlog(ident, syslog.LOG_PID | syslog.LOG_PERROR, syslog.LOG_DAEMON)
+
+class logger(object):
+ """Closure for logging."""
+
+ def __init__(self, priority):
+ self.set_priority(priority)
+
+ def set_priority(self, priority):
+ self.priority = priority
+
+ def __call__(self, message):
+ return syslog.syslog(self.priority, message)
+
+error = logger(syslog.LOG_ERR)
+warning = logger(syslog.LOG_WARNING)
+notice = logger(syslog.LOG_NOTICE)
+info = logger(syslog.LOG_INFO)
+debug = logger(syslog.LOG_DEBUG)
+
+enable_trace = True
+
+def trace():
+ """Execution trace -- where are we now, and whence came we here?"""
+ if enable_trace:
+ bt = traceback.extract_stack(limit = 3)
+ return debug("[%s() at %s:%d from %s:%d]" % (bt[1][2], bt[1][0], bt[1][1], bt[0][0], bt[0][1]))