Log4Net可以根据不同的类容输出到不同的文件夹下面
1 配置文件log4net_dcs.config
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections>
<appSettings>
</appSettings>
<log4net>
<!--一般信息日志-->
<appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
<file value="Log/InfoLog/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd".log"" />
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="%date %-5level %message%newline" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="InfoLog" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<!--系统日志-->
<appender name="SysLog" type="log4net.Appender.RollingFileAppender">
<file value="Log/SysLog/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd".log"" />
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="%date %-5level %message%newline" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="SysLog" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<!--通讯服务日志-->
<appender name="CommLog" type="log4net.Appender.RollingFileAppender">
<file value="Log/CommLog/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd".log"" />
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="%date %-5level %message%newline" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="CommLog" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<!--第三方应用服务日志-->
<appender name="ThirdLog" type="log4net.Appender.RollingFileAppender">
<file value="Log/ThirdLog/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd".log"" />
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="%date %-5level %message%newline" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="ThirdLog" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<!--数据持久化日志-->
<appender name="PersistenceLog" type="log4net.Appender.RollingFileAppender">
<file value="Log/PersistenceLog/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd".log"" />
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="%date %-5level %message%newline" />
</layout>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="PersistenceLog" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="InfoLog"/>
<appender-ref ref="SysLog"/>
<appender-ref ref="CommLog"/>
<appender-ref ref="ThirdLog"/>
<appender-ref ref="PersistenceLog"/>
</root>
</log4net>
</configuration>
2 在AssemblyInfo.cs文件中添加
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net_dcs.config", Watch = true)]
3 Global.asax Application_Start中添加
log4net.Config.XmlConfigurator.Configure();//读取了配置文件中关于Log4Net配置信息.
4 添加帮助类文件C_LogWriter.cs
/// <summary>
/// 日志等级
/// </summary>
public enum LogLevel
{
Error,
Debug,
Warning,
Info
}
/// <summary>
/// 日志类型
/// </summary>
public enum LogType
{
InfoLog,
SysLog,
CommLog,
ThirdLog,
ErrorLog
}
/// <summary>
/// 日志记录服务
/// </summary>
public static class C_LogWriter
{
/// <summary>
/// 日志接口
/// </summary>
private static log4net.ILog m_Log;
public static void Init(LogType _LogType)
{
string s = _LogType.ToString();
m_Log = log4net.LogManager.GetLogger(s);
}
/// <summary>
/// 输出错误级别日志
/// </summary>
/// <param name="message">输出的消息</param>
public static void Error(string message)
{
//记录日志
WriteLog(LogLevel.Error, message);
}
/// <summary>
/// 输出警告级别日志
/// </summary>
/// <param name="message">输出的消息</param>
public static void Warning(string message)
{
//记录日志
WriteLog(LogLevel.Warning, message);
}
/// <summary>
/// 输出信息级别日志
/// </summary>
/// <param name="message">输出的消息</param>
public static void Info(string message)
{
//记录日志
WriteLog(LogLevel.Info, message);
}
/// <summary>
/// 输出调试级别日志
/// </summary>
/// <param name="message">输出的消息</param>
public static void Debug(string message)
{
//记录日志
WriteLog(LogLevel.Debug, message);
}
/// <summary>
/// 记录系统日志
/// </summary>
/// <param name="logLevel">日志级别</param>
/// <param name="message">输出的消息</param>
private static void WriteLog(LogLevel logLevel, string message)
{
switch (logLevel)
{
case LogLevel.Debug:
m_Log.Debug(message);
break;
case LogLevel.Error:
m_Log.Error(message);
break;
case LogLevel.Info:
m_Log.Info(message);
break;
case LogLevel.Warning:
m_Log.Warn(message);
break;
}
}
}
5 调用
C_LogWriter.Init(LogType.ErrorLog);
C_LogWriter.Warning("前苏联,。");
C_LogWriter.Init(LogType.InfoLog);
C_LogWriter.Warning("前。");

浙公网安备 33010602011771号