ASP.NET网站log4net记录
项目的需求是,使用log4net记录,并且记录用户的登录信息及状态,要用户添加的,修改,删除的操作日志,然后,我使用每天4个文本来记录的日志
步骤:
1.配置文件
<span style="font-size:14px;"><configuration> <configSections> <!--log4net connection--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> <!--log4net configuration start --> <log4net> <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --> <!-- Set root logger level to ERROR and its appenders --> <root> <level value="INFO"/> </root> <logger name="SysLogin" > <level value="INFO"/> <appender-ref ref="SystemLogin"/> </logger> <logger name="SysAdd" > <level value="INFO"/> <appender-ref ref="SystemAdd"/> </logger> <logger name="SysUpdate" > <level value="INFO"/> <appender-ref ref="SystemUpdate"/> </logger> <logger name="SysDelete" > <level value="INFO"/> <appender-ref ref="SystemDelete"/> </logger> <!-- 这是记录登录信息 --> <appender name="SystemLogin" type="log4net.Appender.RollingFileAppender,log4net"> <!-- 文件路径 --> <param name="File" value="Log/Login/"/> <param name="AppendToFile" value="true"/> <param name="RollingStyle" value="Date"/> <!--一个文件只存储1MB大小,超出自动创建新的--> <param name="MaximumFileSize" value="1MB"/> <param name="DatePattern" value=""Login_Logs_"yyyyMMdd".txt""/> <!--是否只允许写于一个文件--> <param name="StaticLogFileName" value="false"/> <!--最小锁定模型以允许多个进程可以写入同一个文件--> <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%message %n"/> <param name="Header" value=""/> <param name="Footer" value=""/> </layout> </appender> <!-- 这是记录添加 --> <appender name="SystemAdd" type="log4net.Appender.RollingFileAppender,log4net"> <param name="File" value="Log/Operation/"/> <param name="AppendToFile" value="true"/> <param name="RollingStyle" value="Date"/> <!--一个文件只存储1MB大小,超出自动创建新的--> <param name="MaximumFileSize" value="1MB"/> <param name="DatePattern" value=""MemberMng_Logs_"yyyyMMdd".txt""/> <!--是否只允许写于一个文件--> <param name="StaticLogFileName" value="false"/> <!--最小锁定模型以允许多个进程可以写入同一个文件--> <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock"/> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%message %n"/> <param name="Header" value=""/> <param name="Footer" value=""/> </layout> </appender> <!-- 这是记录修改 --> <appender name="SystemUpdate" type="log4net.Appender.RollingFileAppender,log4net"> <param name="File" value="Log/Operation/"/> <param name="AppendToFile" value="true"/> <param name="RollingStyle" value="Date"/> <!--一个文件只存储1MB大小,超出自动创建新的--> <param name="MaximumFileSize" value="1MB"/> <param name="DatePattern" value=""CustomerMng_Logs_"yyyyMMdd".txt""/> <!--是否只允许写于一个文件--> <param name="StaticLogFileName" value="false"/> <!--最小锁定模型以允许多个进程可以写入同一个文件--> <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock"/> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%message %n"/> <param name="Header" value=""/> <param name="Footer" value=""/> </layout> </appender> <!-- 这是记录删除 --> <appender name="SystemDelete" type="log4net.Appender.RollingFileAppender,log4net"> <param name="File" value="Log/Operation/"/> <param name="AppendToFile" value="true"/> <param name="RollingStyle" value="Date"/> <!--一个文件只存储1MB大小,超出自动创建新的--> <param name="MaximumFileSize" value="1MB"/> <param name="DatePattern" value=""CustomerMng_Logs_"yyyyMMdd".txt""/> <!--是否只允许写于一个文件--> <param name="StaticLogFileName" value="false"/> <!--最小锁定模型以允许多个进程可以写入同一个文件--> <param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock"/> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%message %n"/> <param name="Header" value=""/> <param name="Footer" value=""/> </layout> </appender> <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> </log4net> <!--log4net configuration end --> </configuration></span>
2.调用类
using log4net; [assembly: log4net.Config.XmlConfigurator(Watch = true)] namespace BLL { /// <summary> /// log4net记录类 /// </summary> public class LogHelper { /// <summary> /// 记录登录信息 /// </summary> public static void WriteLogin(string message) { ILog loginfo = LogManager.GetLogger("SysLogin"); if (loginfo.IsInfoEnabled) { loginfo.Info(message); } } /// <summary> /// 记录添加信息 /// </summary> public static void WriteAdd(string message) { try { ILog loginLog = LogManager.GetLogger("SysAdd"); if (loginLog.IsInfoEnabled) { loginLog.Info(message); } } catch { } } /// <summary> /// 记录修改信息 /// </summary> public static void WriteModify(string message) { try { ILog memberMngLog = LogManager.GetLogger("SysUpdate"); if (memberMngLog.IsInfoEnabled) { memberMngLog.Info(message); } } catch { } } /// <summary> /// 记录删除信息 /// </summary> public static void WriteDelete(string message) { try { ILog customerLog = LogManager.GetLogger("SysDelete"); if (customerLog.IsInfoEnabled) { customerLog.Info(message); } } catch { } } } }
3.至于调用该类
LogHelper.WriteLogin("登录成功!2015-03-31 登录人:admin");
然后我们可以去项目根路径下找Log/Login/ 就可以查看txt文件了
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。