X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bindings%2Fpython%2Fbt2%2Fbt2%2Flogging.py;fp=bindings%2Fpython%2Fbt2%2Fbt2%2Flogging.py;h=51d898cc83abc129fd9a89ce216177f302ddd531;hb=1b8fb86234d51aff255b8e97435d4dbb3316eaec;hp=0000000000000000000000000000000000000000;hpb=375d5f6a40f8021639019995c8dc8e6f190b7b55;p=babeltrace.git diff --git a/bindings/python/bt2/bt2/logging.py b/bindings/python/bt2/bt2/logging.py new file mode 100644 index 00000000..51d898cc --- /dev/null +++ b/bindings/python/bt2/bt2/logging.py @@ -0,0 +1,59 @@ +# The MIT License (MIT) +# +# Copyright (c) 2017 Philippe Proulx +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +from bt2 import native_bt, object, utils +import bt2 + + +class LoggingLevel: + VERBOSE = native_bt.LOGGING_LEVEL_VERBOSE + DEBUG = native_bt.LOGGING_LEVEL_DEBUG + INFO = native_bt.LOGGING_LEVEL_INFO + WARN = native_bt.LOGGING_LEVEL_WARN + ERROR = native_bt.LOGGING_LEVEL_ERROR + FATAL = native_bt.LOGGING_LEVEL_FATAL + NONE = native_bt.LOGGING_LEVEL_NONE + + +def get_minimal_logging_level(): + return native_bt.logging_get_minimal_level() + + +def get_global_logging_level(): + return native_bt.logging_get_global_level() + + +def set_global_logging_level(level): + levels = ( + LoggingLevel.VERBOSE, + LoggingLevel.DEBUG, + LoggingLevel.INFO, + LoggingLevel.WARN, + LoggingLevel.ERROR, + LoggingLevel.FATAL, + LoggingLevel.NONE, + ) + + if level not in levels: + raise TypeError("'{}' is not a valid logging level".format(level)) + + return native_bt.logging_set_global_level(level)