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