初次创建仓库提交代码
1. 已经构建好了架子了。 2. 添加了示例的插件
This commit is contained in:
95
thirdparty/py_trees/logging.py
vendored
Normal file
95
thirdparty/py_trees/logging.py
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# License: BSD
|
||||
# https://raw.githubusercontent.com/splintered-reality/py_trees/devel/LICENSE
|
||||
#
|
||||
##############################################################################
|
||||
# Documentation
|
||||
##############################################################################
|
||||
|
||||
"""
|
||||
.. module:: loggers
|
||||
:synopsis: Logging facilities in py_trees.
|
||||
|
||||
Oh my spaghettified magnificence,
|
||||
Bless my noggin with a tickle from your noodly appendages!
|
||||
"""
|
||||
|
||||
##############################################################################
|
||||
# Imports
|
||||
##############################################################################
|
||||
|
||||
from enum import IntEnum
|
||||
|
||||
from . import console
|
||||
|
||||
##############################################################################
|
||||
# Logging
|
||||
##############################################################################
|
||||
|
||||
# I'd really prefer to use python logging facilities, but rospy logging
|
||||
# on top of python logging kills it.
|
||||
#
|
||||
# Could still use it here, and would actually be useful if I could
|
||||
# integrate it with nosetests, but for now, this will do.
|
||||
# Note, you can get colour with python logging, but its tricky;
|
||||
#
|
||||
# http://stackoverflow.com/questions/384076/how-can-i-color-python-logging-output
|
||||
#
|
||||
# python way:
|
||||
#
|
||||
# import logging
|
||||
# logging.getLogger("py_trees.Behaviour")
|
||||
# logging.basicConfig(level=logging.DEBUG)
|
||||
#
|
||||
##############################################################################
|
||||
# Level
|
||||
##############################################################################
|
||||
|
||||
|
||||
# levels
|
||||
class Level(IntEnum):
|
||||
"""
|
||||
An enumerator representing the logging level.
|
||||
Not valid if you override with your own loggers.
|
||||
"""
|
||||
DEBUG = 0
|
||||
INFO = 1
|
||||
WARN = 2
|
||||
ERROR = 3
|
||||
|
||||
|
||||
# module variable
|
||||
level = Level.INFO
|
||||
|
||||
##############################################################################
|
||||
# Logger Class
|
||||
##############################################################################
|
||||
|
||||
|
||||
class Logger(object):
|
||||
"""
|
||||
:cvar override: whether or not the default python logger has been overridden.
|
||||
:vartype override: bool
|
||||
"""
|
||||
|
||||
def __init__(self, name=None):
|
||||
self.prefix = '{:<20}'.format(name.replace("\n", " ")) + " : " if name else ""
|
||||
|
||||
def debug(self, msg):
|
||||
global level
|
||||
if level < Level.INFO:
|
||||
console.logdebug(self.prefix + msg)
|
||||
|
||||
def info(self, msg):
|
||||
global level
|
||||
if level < Level.WARN:
|
||||
console.loginfo(self.prefix + msg)
|
||||
|
||||
def warning(self, msg):
|
||||
global level
|
||||
if level < Level.ERROR:
|
||||
console.logwarn(self.prefix + msg)
|
||||
|
||||
def error(self, msg):
|
||||
console.logerror(self.prefix + msg)
|
||||
Reference in New Issue
Block a user