2011-10-05 45 views
0

我嘗試了一切,讓Swiz的LogProcessor運行。 這裏是項目Foomonger。 但是,我擔心,資源是指舊版本的swiz。Swiz 1.3.1 LogProcessor

我想在沒有SwizLoggerConfig的情況下實現LogProceccor,因爲我只需要將某些信息記錄到Thunderbolt的可能性。我不需要進一步的配置。之後,我開始寫我自己的AbstractSwizLoggingTarget。

如果我的類複製到我的環境中,我得到了如下錯誤: 類型錯誤:錯誤#1034:Typumwandlung fehlgeschlagen:org.swizframework.utils.logging :: SwizLogger @ e8aa8b1卡恩nicht在mx.logging.ILogger umgewandelt werden。 (對不起,德語文本)

明鏡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集中記錄(未debuggin)在Swiz會。我需要更多的代碼,讓我知道

謝謝 弗蘭克

回答

0

這是一個漫長,艱苦的旅程。這裏是結果:

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; 
     } 
    } 
} 
相關問題