1:在代理中使用log4net,不能LogManager.GetLogger得到logger,需要在主程序集中先LogManager.GetLogger一遍。
配置如下:
log4net.config:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<!--定义输出到文件中-->
<appender name="LogFileAppender"
type="log4net.Appender.FileAppender">
<!--定义文件存放位置-->
<file value="D:/MainUpdateLog/log4netfile.txt"/>
<appendToFile
value="true"/>
<!--<rollingStyle value="Date"/>-->
<datePattern value="yyyyMMdd-HH:mm:ss"/>
<layout
type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<footer value="by Leon"/>
<!--输出格式-->
<!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] -
info-->
<conversionPattern value="记录时间:%date 线程ID:[%thread]
日志级别:%-5level 出错类:%logger property:[%property{NDC}] -
错误描述:%message%newline"/>
</layout>
<!--OFF>FATAL>ERROR>WARN>INFO>DEBUG>ALL-->
<filter type="log4net.Filter.LevelRangeFilter">
<param
name="LevelMin" value="INFO" />
<param name="LevelMax"
value="OFF" />
</filter>
</appender>
<!--定义输出到控制台命令行中-->
<appender name="ConsoleAppender"
type="log4net.Appender.ConsoleAppender">
<layout
type="log4net.Layout.PatternLayout">
<conversionPattern
value="%date [%thread] %-5level %logger [%property{NDC}] -
%message%newline"/>
</layout>
</appender>
<logger name="UtilityLogger">
<!--control log level:
ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
<!--如果没有定义LEVEL的值,则缺省为DEBUG-->
<level value="INFO" />
<appender-ref ref="LogFileAppender"></appender-ref>
</logger>
<root>
<!--文件形式记录日志-->
<appender-ref ref="LogFileAppender"/>
<!--控制台控制显示日志
<appender-ref ref="ConsoleAppender"/>-->
</root>
</log4net>
程序集特性
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
配置文件中使用的参数