Swiz 1.3.1 LogProcessor

Я стараюсь все, чтобы заставить LogProcessor для Swiz работать. Вот проект Foomonger. Боюсь, однако, что ресурсы ссылаются на старую версию swiz.

Я хочу реализовать LogProceccor без SwizLoggerConfig, потому что мне нужна только возможность записать некоторую информацию в Thunderbolt. мне не нужна дополнительная настройка. После этого я начинаю писать свой собственный AbstractSwizLoggingTarget.

Если я копирую класс в свою среду, я получаю следующую ошибку: Ошибка типа: Ошибка № 1034: Типичная ошибка: org.swizframework.utils.logging::SwizLogger@e8aa8b1 Канн Нихт в mx.logging.ILogger umgewandelt werden. (Извините за немецкий текст)

Der Quelltext:

package de.axurit.util
{
    import org.swizframework.core.Bean;
    import org.swizframework.processors.BaseMetadataProcessor;
    import org.swizframework.processors.ProcessorPriority;
    import org.swizframework.reflection.IMetadataTag;
    import org.swizframework.utils.logging.SwizLogger;

    public class LoggerProcessor extends BaseMetadataProcessor
    {

        protected static const LOGGER:String = "Logger";

        public function LoggerProcessor()
        {
            super([LOGGER]);
        }

        override public function get priority():int
        {
            return ProcessorPriority.INJECT +1;
        }

        override public function setUpMetadataTag(metadataTag:IMetadataTag, bean:Bean):void
        {
            var logger:SwizLogger = SwizLogger.getLogger(bean.source);
            bean.source[metadataTag.host.name] = logger; //here occurs the error
        }

        override public function tearDownMetadataTag(metadataTag:IMetadataTag, bean:Bean):void
        {
            bean.source[metadataTag.host.name] = null;
        }


    }
}

Может кто-нибудь помочь мне, как создать собственный MetadataProcessor для централизованного ведения журнала (не отладки) в Swiz. Если вам нужно больше кода, дайте мне знать, что

Спасибо Фрэнк

1 ответ

Решение

Это было длинное, тяжелое путешествие. Вот результат:

package de.axurit.util
{
    import org.swizframework.core.Bean;
    import org.swizframework.processors.BaseMetadataProcessor;
    import org.swizframework.reflection.IMetadataTag;
    import org.swizframework.utils.logging.SwizLogger;

    public class LoggerProcessor extends BaseMetadataProcessor
    {
        public function LoggerProcessor()
        {
            super(["Log"]);
        }

        override public function setUpMetadataTag(metadataTag:IMetadataTag, bean:Bean):void
        {
            super.setUpMetadataTag(metadataTag, bean);
            bean.source [metadataTag.host.name] = SwizLogger.getLogger(bean.source);
        }

        override public function tearDownMetadataTag(metadataTag:IMetadataTag, bean:Bean):void
        {
            super.tearDownMetadataTag(metadataTag,bean);
            bean.source[metadataTag.host.name] = null;
        }
    }
}
Другие вопросы по тегам