Bu gece yapmaya çalışıyorum. Commons.Logging'in günlük kütüphaneleri arasında çift yönlü olay yönlendirmesi olduğunu söylediğini görüyorum.
- Kullanım Nuget
- aşağıda yapılandırmayı ekleyin (paket bağımlılıkları yoluyla Log4net ve nlog alacak) Common.Logging.log4net ve Common.Logging.NLog ekleyin.
Main()
olarak
- Log4net
log4net.Config.XmlConfigurator.Configure();
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets async="true">
<target name="file" xsi:type="File" fileName="d:\logs\app1\logging.txt"/>
<target name="console" xsi:type="ColoredConsole" />
</targets>
<rules>
<logger name="*" writeTo="file"/>
<logger name="*" writeTo="console"/>
</rules>
</nlog>
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
</common>
<log4net>
<!-- Commons.Logging will bridge the log4net messages to NLog, required to see TopShelf log messages -->
<appender name="CommonLoggingAppender" type="Common.Logging.Log4Net.CommonLoggingAppender, Common.Logging.Log4Net">
<layout type="log4net.Layout.PatternLayout, log4net">
<param name="ConversionPattern" value="%level - %class.%method: %message" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="CommonLoggingAppender" />
</root>
</log4net>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Referanslar kullanılarak initialize: Common.Logging Bridging Logging Systems Tam çift-yönlü bir olay EntLib 3.1, EntLib 4.1, log4net 1.2.9 destek yönlendirme
, 1.2 Log4net .10 ve NLog günlüğe kaydetme
NLog'u tamamen bırakırdım. Daha iyi bir alternatif olarak ilan edildi, ancak yaratıcısı Microsoft tarafından tutulduktan sonra üzerinde çalışmayı bıraktı, bu utanç verici .. Daha sonra log4net kullanmaya başladım ve daha çok beğendim, belki de belgelere göz atıp kendin. –
İpucu için teşekkürler ... Uygulamam için log4net'i kullanmayı düşüneceğim yerine – Martin
NLog çok etkin görünüyor :-) –