标签:
1.在项目中引入log4net.dll组件;
2.在App.congfig中做如下修改
在加入如下内容:
这个节点最好放在<configuration>下的第一个位置,不然在服务里会报错。
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections>
<log4net> <!--定义输出到文件中--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="log\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyy\\yyyyMM\\yyyyMMdd‘.txt‘"/> <staticLogFileName value="false"/> <param name="MaxSizeRollBackups" value="100"/> <layout type="log4net.Layout.PatternLayout"> <!--每条日志末尾的文字说明--> <!--输出格式--> <!--样例:2015-06-08 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n操作类:%logger property: [%property{NDC}] - %n日志描述:%message%newline %n"/> </layout> </appender> <root> <level value="INFO"/> <!--文件形式记录日志--> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net>
3.新建LogHelp.cs文件
using System; using System.Collections.Generic; using System.Text; using log4net; using System.Diagnostics; using System.Reflection; namespace WinService { public class LogHelper { private static readonly ILog logInfo = LogManager.GetLogger("Log"); private static readonly ILog logErr = LogManager.GetLogger("Err"); /// <summary> /// 记录正常的消息 /// </summary> /// <param name="msg">消息内容</param> public static void info(string msg) { logInfo.Info(msg); } /// <summary> /// 记录异常信息 /// </summary> /// <param name="msg">异常信息内容</param> public static void error(string msg) { StackTrace stackTrace = new StackTrace(); StackFrame stackFrame = stackTrace.GetFrame(1); MethodBase methodBase = stackFrame.GetMethod(); logErr.Error("类名:" + methodBase.ReflectedType.Name + " 方法名:" + methodBase.Name + " 信息:" + msg); } } }
4.在项目的Properties\AssemblyInfo.cs文件中加入如下内容:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
标签:
原文地址:http://www.cnblogs.com/xbding/p/4563343.html