Swiz 1.3.1 LogProcessor - PullRequest
       40

Swiz 1.3.1 LogProcessor

0 голосов
/ 05 октября 2011

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

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

Если я копирую класс в свою среду, я получаю следующую ошибку: Ошибка типа: Ошибка # 1034: Typumwandlung fehlgeschlagen: 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 Ответ

0 голосов
/ 18 октября 2011

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

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;
        }
    }
}
...