2009-12-04 14 views
5

Log4net ile biraz çalışıyorum ve fazladan alanlar ekledim, ancak int alanları eklemekte sorun yaşıyorum. homepage numaralı telefondan bulamadığım için int kullanan bir yapılandırma gösterilebilir.log4net ve ints

Normalde gibi bir yapılandırma kullanabilirsiniz:

<parameter> 
     <parameterName value="@orderid" /> 
     <dbType value="string" /> 
     <size value="64" /> 
     <layout type="log4net.Layout.PatternLayout" /> 
    </parameter> 

Ama bu alan yerine int olabilirdi eğer günlük veritabanında arama yapmak için daha optimum olacaktır.

cevap

4

dbType property, System.Data.DbType tipindedir. Orada, tamsayıları temsil etmek için Int32 değerini kullanabilirsiniz.

+0

Ne ile ilgileneceğiz: Bu sorunu çözmek isteyen başkaları için buraya çözüm bu mu? Teşekkürler! Orası listede yok. Teşekkürler! – Euridice01

+0

@ Unicode olmayan karakter dizeleri olacak Euridice01, ya AnsiString veya AnsiStringFixedLength' kullanın. –

16

Sadece Int32'ye çevirmek sorunu benim için çözmedi.

 <parameter> 
      <parameterName value="@UserID" /> 
      <dbType value="Int32" /> 
      <size value="32" /> 
      <layout type="log4net.Layout.RawPropertyLayout"> 
       <key value="UserID" /> 
      </layout> 
     </parameter> 

Bu aynı zamanda boş değerlere Char hakkında

+0

Teşekkür ederim! Gelecek okuyucular için bu, log4net.GlobalContext'de ayarlanan değerleri alır. Yukarıdaki örnekte (bu cevap), GlobalContext "Kullanıcı Kimliği" ni (KullanıcıKimliği anahtar ise) ayarlarsanız ve değeri ayarlarsanız, bu kod değeri alır. ve evet!! Boş etiketleri ele alınır. Teşekkür ederim! – granadaCoder