Как я могу вывести материал NLog в окно вывода vs2008?

__abstractmethods__ является дескриптором для поддержки абстрактных базовых классов ; он портит слот , который по умолчанию пуст (поэтому дескриптор вызывает ошибку атрибута). Прежде всего, это деталь реализации того, как CPython обрабатывает абстрактные методы.

Атрибут используется для отслеживания абстрактных методов, поэтому экземпляры могут быть заблокированы от создания, если они не предоставляют конкретные реализация:

>>> import abc
>>> class FooABC(metaclass=abc.ABCMeta):
...     @abc.abstractmethod
...     def bar(self):
...         pass
... 
>>> FooABC.__abstractmethods__
frozenset({'bar'})
>>> class Foo(FooABC): pass
... 
>>> Foo()
Traceback (most recent call last):
  File "", line 1, in 
TypeError: Can't instantiate abstract class Foo with abstract methods bar

Реализация abc.ABCMeta устанавливает атрибут __abstractmethods__, а type() использует его для проверки любых абстрактных методов, которые должны были быть реализованы, но не являются.

61
задан pb2q 24 March 2015 в 19:55
поделиться

1 ответ

Можно использовать этот конфигурационный файл (nlog.config в пути приложения):

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <targets>
        <target name="debugger" xsi:type="Debugger" layout="${logger}::${message}"/>
  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="debugger" />
  </rules>
</nlog>

-Scott

129
ответ дан Scott P 25 March 2015 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: