diff options
author | Ethan Jackson <ethan@nicira.com> | 2011-09-21 15:43:27 -0700 |
---|---|---|
committer | Ethan Jackson <ethan@nicira.com> | 2011-09-27 14:50:26 -0700 |
commit | 8ed182d80ed37c94c88ca5a4df11267ee6432fe8 (patch) | |
tree | bb2a02f56cbb3b22f56d9ad0911dd49ad72433f6 /tests/test-vlog.py | |
parent | 6c88547dd0f75a29e6d1c0cd3c76d9678fa4752f (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.py | 48 |
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() |