日期:2014-05-20  浏览次数:22073 次

关于log4net的问题
插件式gis应用框架的设计与实现中,第76-80页,log4net的那个是用是怎么回事啊,看了半天没看明白。而且老是出问题。比如:找不到架构信息。。。。希望哪位给下具体的使用,或者详细步骤。谢谢各位大侠了

------解决方案--------------------
下载log4net.dll和配置文件

添加引用和配置文件到项目中

修改配置文件

cs文件中引用命名空间,调用

不知道你是要存储到表中还是文件,或者都存,这个具体修改配置文件
------解决方案--------------------
Log4net配置

Global.asax中的配置

<%@ Application Language="C#" %>
<%@ Import Namespace="ZDS.HR.CEMS.Logic" %>
<%@ Import Namespace="ZDS.HR.CEMS.Logic.Common" %>
<%@ Import Namespace="ZDS.HR.CEMS.WebForms" %>
<%@ Import Namespace="ZDS.HR.CEMS.LibraryBase" %>

<script RunAt="server">

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

void Application_Start(object sender, EventArgs e)
{
//初始化处理消息文件
MessageHandler.InitMessageHandler(Server.MapPath(@"~\App_Data\Messages.xml"));

//初始化Dataset架构文件
DataSetGenerator.InitDataSetGenerator(Server.MapPath(@"~\App_Data\XML Schema"));

//初始化log4net
log4net.Config.XmlConfigurator.Configure();

//获取电厂列表信息
using (Connector connector = new Connector())
{
PowerCompanyReader reader = new PowerCompanyReader(connector);

DataEntity dataEntity = new DataEntity();

Application["COMPANY_LIST"] = reader.GetPowerCompanyList(dataEntity);
}
}

void Application_End(object sender, EventArgs e)
{
//在应用程序关闭时运行的代码

}

/// <summary>
/// 将异常记录到日志文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void Application_Error(object sender, EventArgs e)
{

Exception exception = Server.GetLastError().GetBaseException();

log.Fatal(exception);

Server.ClearError();

//Server.Transfer("~/Common/ErrorPage.aspx");
}

void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码

}

void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。 
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式 
//设置为 StateServer 或 SQLServer,则不会引发该事件。

}

</script>

Web.config中的配置
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>

<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="LogFileAppender"/>
<appender-ref ref="DebugAppender"/>
</root>
<logger name="LogFileAppender">
<level value="DEBUG"/>
</logger>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="./App_Data/logs/Log"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Composite"/>
<param name="DatePattern" value="yyyyMMdd"/>
<param name="MaxSizeRollBackups" value="10"/>
<param name="MaximumFileSize" value="1MB"/>