aboutsummaryrefslogtreecommitdiff
path: root/tests/test-vlog.py
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2011-09-21 15:43:27 -0700
committerEthan Jackson <ethan@nicira.com>2011-09-27 14:50:26 -0700
commit8ed182d80ed37c94c88ca5a4df11267ee6432fe8 (patch)
treebb2a02f56cbb3b22f56d9ad0911dd49ad72433f6 /tests/test-vlog.py
parent6c88547dd0f75a29e6d1c0cd3c76d9678fa4752f (diff)
python: Create new vlog module.
Currently, each python daemon has to come up with it's own logging solution. These logging strategies are not consistent across the python code or with the C vlog module. This patch adds a new logging module which hopes to solve the problem. This new module generates log messages in a manner consistent with the C code. Furthermore, it can easily be extended to support things like rate limiters in the future. This patch does not update any python code to use the new module.
Diffstat (limited to 'tests/test-vlog.py')
-rw-r--r--tests/test-vlog.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/test-vlog.py b/tests/test-vlog.py
new file mode 100644
index 00000000..1c6a2df1
--- /dev/null
+++ b/tests/test-vlog.py
@@ -0,0 +1,48 @@
+# Copyright (c) 2011 Nicira Networks.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import argparse
+
+import ovs.vlog
+
+
+def main():
+ modules = [ovs.vlog.Vlog("module_%d" % i) for i in xrange(3)]
+
+ parser = argparse.ArgumentParser(description="Vlog Module Tester")
+ ovs.vlog.add_args(parser)
+ args = parser.parse_args()
+ ovs.vlog.handle_args(args)
+
+ for m in modules:
+ m.emer("emergency")
+ m.err("error")
+ m.warn("warning")
+ m.info("information")
+ m.dbg("debug")
+
+ try:
+ fail = False # Silence pychecker warning.
+ assert fail
+ except AssertionError:
+ m.emer("emergency exception", exc_info=True)
+ m.err("error exception", exc_info=True)
+ m.warn("warn exception", exc_info=True)
+ m.info("information exception", exc_info=True)
+ m.dbg("debug exception", exc_info=True)
+ m.exception("exception")
+
+
+if __name__ == '__main__':
+ main()