项目的需求是,使用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 { }
}
}
}LogHelper.WriteLogin("登录成功!2015-03-31 登录人:admin");
然后我们可以去项目根路径下找Log/Login/ 就可以查看txt文件了
原文:http://blog.csdn.net/u013538542/article/details/44778201