关于log4net的问题

hanyuanyuan125 2010-04-21 03:29:51
插件式gis应用框架的设计与实现中,第76-80页,log4net的那个是用是怎么回事啊,看了半天没看明白。而且老是出问题。比如:找不到架构信息。。。。希望哪位给下具体的使用,或者详细步骤。谢谢各位大侠了
...全文
364 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fy_kenny 2011-07-02
  • 打赏
  • 举报
回复
这个可以在wince中使用吗?
miafer 2010-12-28
  • 打赏
  • 举报
回复
~!@#¥&*
小志 2010-12-27
  • 打赏
  • 举报
回复
新建一个跟应用程序同名的.config文件,以下是配置文件的内容,内容很简单,就是使用log4net.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
</configSections>

<log4net>
<!--Log信息输出到文件-->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Log\DrivingLicense.log" />
<appendToFile value="true" />
<maximumFileSize value="1024KB" />
<maxSizeRollBackups value="10" />
<rollingStyle value="Size" />

<!--Log信息的格式-->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%5level %date{yyyy-MM-dd HH:mm:ss} [%thread] (%file:%line) (%class:%M) - %message%newline" />
</layout>

<!--配置过滤器,根据它过滤log信息-->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
<!--只有位于ERROR和FATAL之间的Log信息才会被此Appender处理-->
</filter>
</appender>

<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>

</configuration>

新建一个公共类Global:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.IO;
using log4net;
using log4net.Config;

namespace DLAFMS.SysCommon {
/// <summary>
/// 公共类
/// </summary>
public class Global {
/// <summary>
/// 日志记录者
/// </summary>
public static readonly ILog mainLog = GetLog("DLAFMS");

/// <summary>
/// 加载Log4n设置文件
/// </summary>
/// <param name="name">日志文件名</param>
/// <returns>ILog实例</returns>
private static ILog GetLog(string name) {
string appName = Application.ExecutablePath;
XmlConfigurator.Configure(new FileInfo(appName + ".config"));

return LogManager.GetLogger(name);
}

/// <summary>
/// 应用程序执行路径
/// </summary>
public static readonly string appDir = GetAppDir();

/// <summary>
/// 获取应用程序执行路径
/// </summary>
/// <returns>应用程序执行路径</returns>
private static string GetAppDir() {
string appName = Application.ExecutablePath;
string[] dirNames = appName.Split(new char[] { '\\' });

return appName.Replace(dirNames[dirNames.Length - 1], @"");
}
}
}
写日志时直接调用:Global.mainLog.Debug()或Global.mainLog.Error();只要你引用了log4net,VS IDE在你输入Global.mainLog.时便会列出log4net中供调用的方法。
hanyuanyuan125 2010-12-22
  • 打赏
  • 举报
回复
江湖闲客,你说的那个配置文件是什么内容啊,我打算存储到文件中,呵呵,就是在项目中右击-》添加项-》配置文件-》命名为XX.config-》然后把配置文件内容粘进去吗?
hanyuanyuan125 2010-12-22
  • 打赏
  • 举报
回复
恩,谢谢楼上各位,我试试看~~
much0726 2010-05-19
  • 打赏
  • 举报
回复
log4net是日志库
rax405 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jianghuxianke 的回复:]
下载log4net.dll和配置文件

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

修改配置文件

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

不知道你是要存储到表中还是文件,或者都存,这个具体修改配置文件
[/Quote]
对就是这样,具体去看看log4net的配置文件,直接拷都行
lbh119 2010-05-10
  • 打赏
  • 举报
回复
log4net记录日志用的
CQFXC 2010-05-07
  • 打赏
  • 举报
回复
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"/>
<param name="StaticLogFileName" value="False"/>
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value=" ----------------------Application-Strat-------------------------- "/>
<param name="Footer" value="-----------------------Application-End--------------------------- "/>
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
</appender>
<appender name="DebugAppender" type="log4net.Appender.DebugAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
</appender>
</log4net>

Private static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
jianghuxianke 2010-05-04
  • 打赏
  • 举报
回复
下载log4net.dll和配置文件

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

修改配置文件

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

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

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧