<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"/>
</configSections>
<log4net>
<root>
<!--修改此处设置日志级别!-->
<level value="DEBUG"/>
<appender-ref ref="LogFileAppender"/>
<appender-ref ref="ConsoleAppender"/>
</root>
<logger name="Logger">
<!--修改此处设置日志级别!-->
<level value="DEBUG"/>
</logger>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="WebLog/logger.txt"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="10"/>
<!--修改此处设置日志文件大小-->
<param name="MaximumFileSize" value="5MB"/>
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]"/>
<param name="Footer" value="[Footer]"/>
<param name="ConversionPattern" value="%n[%d] File=%F Line=%L Level=%p - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n[%d] File=%F Line=%L Level=%p - %m%n"/>
</layout>
</appender>
</log4net>
********************************************************************************************************
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace MSCRM.Plugin
{
public class LogFile
{
public static void WriteLog(string str)
{
//LogManager.WriteLog("C:\\Inetpub\\wwwroot\\tmpLog.txt", str);
LogManager.WriteLog("C:\\Program Files\\Microsoft Dynamics CRM\\Server\\bin\\assembly\\tmpLog.txt", str);
}
}
public class LogManager
{
private static string logPath = string.Empty;
/// <summary>
/// 保存日志的文件夹
/// </summary>
public static string LogPath
{
get
{
if (logPath == string.Empty)
{
//if (System.Web.HttpContext.Current == null)
// // Windows Forms 应用
// logPath = AppDomain.CurrentDomain.BaseDirectory;
//else
// Web 应用
logPath = AppDomain.CurrentDomain.BaseDirectory + @"log\";
}
return logPath;
}
set { logPath = value; }
}
private static string logFielPrefix = string.Empty;
/// <summary>
/// 日志文件前缀
/// </summary>
public static string LogFielPrefix
{
get { return logFielPrefix; }
set { logFielPrefix = value; }
}
/// <summary>
/// 写日志
/// </summary>
public static void WriteLog(string logFile, string msg)
{
try
{
System.IO.StreamWriter sw = System.IO.File.AppendText(logFile
);
StringBuilder sb = new StringBuilder();
sb.Append(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss: ") + " : ");
sb.Append(msg);
sw.WriteLine(sb.ToString());
sw.Close();
}
catch (System.IO.IOException IoEx)
{
WriteLog(LogFileE.Error, IoEx.ToString());
}
}
/// <summary>
/// 写日志
/// </summary>
public static void WriteLog(LogFileE logFile, string msg)
{
WriteLog(logFile.ToString(), msg);
}
}
/// <summary>
/// 日志类型
/// </summary>
public enum LogFileE
{
Trace,
Warning,
Error,
SQL
}
}