添加方式1
(1)、在App.Config 添加代码如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> <log4net debug="true"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="Log\applicationLog.log" /> file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下) <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> 备份log文件的个数最多10个 <maximumFileSize value="2MB" /> 每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。 <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> 指定log的格式 <conversionPattern value="[%date] -- %-5level -- %logger -- %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> 指定将此级别及以上的log打印到log文件中 <appender-ref ref="RollingLogFileAppender" /> </root> </log4net> </configuration>
(2)增加一个 LogHelper类
[assembly: log4net.Config.XmlConfigurator(Watch = true)] //不能少 namespace LogTest { public class LogHelper { /// <summary> /// 输出日志到Log4Net /// </summary> /// <param name="t"></param> /// <param name="ex"></param> public static void WirteLog(Type t,Exception ex) { log4net.ILog log = log4net.LogManager.GetLogger(t); log.Error(ex); } public static void WriteLog(Type t, string mesage) { log4net.ILog log = log4net.LogManager.GetLogger(t); log.Info(mesage); }(3)在其他类中调用
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void btnTest_Click(object sender, RoutedEventArgs e) { LogHelper.WriteLog(typeof(MainWindow), "日志写入测试"); } }
方法2:将日志的格式写在自己命名的文件命中。如log4net.xml
(1)、在AssemblyInfo.cs文件中添加如下代码
//日志系统 配置文件 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "config/log4net.xml", Watch = true)] //ConfigFile 为日志配置文件目录
(2)、增加一个LogHelper类,如方法1一样,不过要去掉:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
(3)、如方法一的步骤3一样,调用生成测试日志