【发布时间】:2021-10-13 17:48:42
【问题描述】:
我正在使用 log4net。我将“log4net.dll”放在与“log4net.config”不同的位置。并且我在 AssemblyResolve 事件中动态加载“log4net.dll”。当我使用 Load(byte[]) 时,AssemblyResolve 会跳动稍后调用 log4net.Config.XmlConfigurator.ConfigureAndWatch(somepath\\log4net.config) 时请求 log4net。
但是当我在 AssemblyResolve 中改为使用LoadFrom(filepath) 时,它会很好。这两种方法有什么不同吗?“log4net.config”看起来像:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<logger name="modifyLogger">
<level value="ALL" />
<appender-ref ref="modifyLogFile" />
</logger>
<appender name="modifyLogFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name= "File" value= "log/modify/"/>
<param name= "AppendToFile" value= "true"/>
<param name= "MaxSizeRollBackups" value= "10"/>
<param name= "StaticLogFileName" value= "false"/>
<param name= "DatePattern" value= "yyyy-MM-dd".log""/>
<param name= "RollingStyle" value= "Composite"/>
<maximumFileSize value="10MB"/>
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="
----------------------application startup--------------------------
" />
<param name="Footer" value="
 ----------------------application shutdown--------------------------
" />
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} --%-5p-- %m%n" />
</layout>
</appender>
<logger name="logLogger">
<level value="ALL" />
<appender-ref ref="LogFile" />
</logger>
<appender name="LogFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name= "File" value= "log/"/>
<param name= "AppendToFile" value= "true"/>
<param name= "MaxSizeRollBackups" value= "10"/>
<param name= "StaticLogFileName" value= "false"/>
<param name= "DatePattern" value= "yyyy-MM-dd".log""/>
<param name= "RollingStyle" value= "Composite"/>
<maximumFileSize value="10MB"/>
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="
----------------------application startup--------------------------
" />
<param name="Footer" value="
 ----------------------application shutdown--------------------------
" />
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} --%-5p-- %m%n" />
</layout>
</appender>
<appender>
</appender>
<logger name="logApp">
<level value="ALL" />
</logger>
<root>
</root>
</log4net>
</configuration>
【问题讨论】:
标签: .net winforms load log4net .net-assembly