邀朋友种豆,一起分享吧
喜欢购买正品行货?那就去品牌街

.Net中log4net的三个配置实例

来自:种豆 时间:2017-12-29 阅读:3586次 原文链接
    在网站被部署后,通常需要日志文件来诊断和修复配置上的问题。log4net框架提供里对日志的便捷操作。本文收集了几种实际应用中的log4net和webconfig的配置方法。

log4net配置方法一

1、下载log4net.dll,并添加到工程引用中。
2、在web.config中添加log4net的配置节点。打开web.config文件,找到节点<configuration>,在该节点下添加如下的lognet节点:<configuration>
 <configSections>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
 </configSections>
 <log4net>
  <root>
   <level value="ALL" />
   <appender-ref ref="LogFileAppender" />
  </root>
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
   <param name="File" value="log-file.txt" />
   <param name="AppendToFile" value="true" />
   <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n" />
   </layout>
  </appender>
 </log4net>
</configuration>
3、在应用程序代码中读取配置的三种方法
1> 该web项目中的AssemblyInfo.cs文件中添加log4net配置[assembly:log4net.Config.DOMConfigurator( ConfigFile="Web.config",Watch=true)]如:// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion(
"1.0.0.0")]
[assembly: log4net.Config.DOMConfigurator(ConfigFile = "Web.config", Watch = true)]
2> 在Global.asax.cs中添加log4net配置[assembly:log4net.Config.DOMConfigurator( ConfigFile="Web.config",Watch=true)]
3>在要记录日志的页面文件WebForm1.aspx.cs中添加log4net配置[assembly:log4net.Config.DOMConfigurator( ConfigFile="Web.config",Watch=true)]
也可以尝试在Global.asax中Application_Start里添加以下代码实现,log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("Web.Config"));

4、在页面WebForm的page_Load中初始化log4net实例,如在MyWebForm.aspx.cs的page_Load中添加以下代码:log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
接下来就可以用log记录日志了,如:log.Debug("This is from log4net");

log4net配置方法二——将log4net放到独立的文件中

1、在项目中添加log4net的引用
2、在web.config中添加log4net的配置节点。打开web.config文件,找到节点<configuration>,在该节点下添加如下的lognet节点:<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
</configSections>
3、新建一个文件log4net.config,文件内容如下:<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type
="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"
/>
</configSections>

<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="log-file.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n" />
</layout>
</appender>
</log4net>
</configuration>
4、在应用程序代码中读取配置的三种方法,方法同上,但里面的文件名Web.Config要改成log4net.config,如在web项目中的AssemblyInfo.cs文件中添加log4net配置[assembly: log4net.Config.DOMConfigurator(ConfigFile = "log4net.config", Watch = true)]
5、web项目的WebForm1.aspx.cs Page_Load中实例化log4net并记录日志log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Debug(
"This is from log4net");


log4net配置方法三

配置特点:    1)log4net配置信息放在单独的文件中log4net.config中。    2)把日志记录放在单独的一个公共项目中,这样配置文件只需要读取一次
1、新建日志记录项目LogProject
2、在LogProject中添加log4net.dll引用
3、在web项目的web.config中添加log4net的配置信息<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"/>
</configSections>
4、建立单独的log4net.config配置文件<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type
="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"
/>
</configSections>

<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="log-file.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n" />
</layout>
</appender>
</log4net>
</configuration>
5、在LogProject项目中读取配置,即在LogProject的项目AssemblyInfo.cs文件中添加如下信息[assembly:log4net.Config.DOMConfigurator( ConfigFile="log4net.config",Watch=true)]
6、在公共层的单独的写日志类中添加public class Log4Nets{
  static ILog _log = log4net.LogManager.GetLogger("MyLogger");
  public static void Debug(string debugMsg)
  {
    _log.Debug(debugMsg);
  }
}

7、在web项目的webFom1.aspx.cs中Page_Load中直接饮用Debug,如LogProject.Log4Nets.Debug("This is from logenet");


 
关于种豆 ┊ 联系我们 ┊ 免责声明 ┊ 发帖须知 ┊ 请提意见 ┊ 站点地图
本站为个人爱好兴趣分享网站,不代表本人观点,如有侵权请联系QQ3033380280进行处理
sowsoy.com 版权所有 Copyright©2010-2021 备案号:蜀ICP备2020025376号-3
Email:sowsoy#hotmail.com