1. 添加log4net.dll引用
2.在添加引用的那层的 AssemblyInfo.cs 注册 :
[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)]
3.添加log4net.config 文件到Ui层
配置如下
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <!--<root> <appender-ref ref="LogFileAppender" /> </root>--> <logger name="SysLogger"> <!--control log level: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--如果没有定义LEVEL的值,则缺省为DEBUG--> <level value="ALL" /> <appender-ref ref="RollingLogFileAppender"></appender-ref> </logger> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="abc\abc.log" /><!--file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)--> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="3" /><!--备份log文件的个数最多10个--> <maximumFileSize value="2KB" /><!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。--> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <!--指定log的格式--> <conversionPattern value="[%date] %thread -- %-5level -- %logger [%M] -- %message%newline" /> </layout> </appender> </log4net> </configuration>
4.创建 实例
public static void WritingLog(string logContent) { ILog log = log4net.LogManager.GetLogger("SysLogger"); // 注意这里的参数一定要和配置文件中logger的Name相同 log.Error(logContent); }