This file is indexed.

/usr/lib/python3/dist-packages/cement/core/log.py is in python3-cement 2.10.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
"""
Cement core log module.

"""

from ..core import interface, handler


def log_validator(klass, obj):
    """Validates an handler implementation against the ILog interface."""

    members = [
        '_setup',
        'set_level',
        'get_level',
        'info',
        'warn',  # DEPRECATED
        'warning',
        'error',
        'fatal',
        'debug',
    ]
    interface.validate(ILog, obj, members)


class ILog(interface.Interface):

    """
    This class defines the Log Handler Interface.  Classes that
    implement this handler must provide the methods and attributes defined
    below.

    Implementations do *not* subclass from interfaces.

    Usage:

    .. code-block:: python

        from cement.core import log

        class MyLogHandler(object):
            class Meta:
                interface = log.ILog
                label = 'my_log_handler'
            ...

    """

    # pylint: disable=W0232, C0111, R0903
    class IMeta:

        """Interface meta-data."""

        label = 'log'
        """The string identifier of the interface."""

        validator = log_validator
        """The interface validator function."""

    # Must be provided by the implementation
    Meta = interface.Attribute('Handler Meta-data')

    def _setup(app_obj):
        """
        The _setup function is called during application initialization and
        must 'setup' the handler object making it ready for the framework
        or the application to make further calls to it.

        :param app_obj: The application object.

        """

    def set_level():
        """
        Set the log level.  Must except atleast one of:
            ``['INFO', 'WARNING', 'ERROR', 'DEBUG', or 'FATAL']``.

        """

    def get_level():
        """Return a string representation of the log level."""

    def info(msg):
        """
        Log to the 'INFO' facility.

        :param msg: The message to log.

        """

    def warning(self, msg):
        """
        Log to the 'WARNING' facility.

        :param msg: The message to log.

        """

    def error(self, msg):
        """
        Log to the 'ERROR' facility.

        :param msg: The message to log.

        """

    def fatal(self, msg):
        """
        Log to the 'FATAL' facility.

        :param msg: The message to log.

        """

    def debug(self, msg):
        """
        Log to the 'DEBUG' facility.

        :param msg: The message to log.

        """


class CementLogHandler(handler.CementBaseHandler):

    """
    Base class that all Log Handlers should sub-class from.

    """

    class Meta:

        """
        Handler meta-data (can be passed as keyword arguments to the parent
        class).
        """

        label = None
        """The string identifier of this handler."""

        interface = ILog
        """The interface that this class implements."""

    def __init__(self, *args, **kw):
        super(CementLogHandler, self).__init__(*args, **kw)