Log4net在类库中的用法

简介: app.config应当放置在解决方案的根目录下。具体流程如下: 第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 第二步:需要配置相关的配置文件App.config或Web.config,顾名思义普通应用的配置文件 为App.config,asp.net的配置文件为Web.config。

app.config应当放置在解决方案的根目录下。具体流程如下:

第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 

第二步:需要配置相关的配置文件App.config或Web.config,顾名思义普通应用的配置文件
 为App.config,asp.net的配置文件为Web.config。有关log的配置如下:
 <configuration>
   <configSections>
       <!-- log4net的定义 -->
         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
   </configSections>

   <log4net>
  <!-- Console部分log输出格式的设定 -->
         <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
             <layout type="log4net.Layout.PatternLayout">
                 <conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" />
             </layout>
         </appender>

  <!-- 日志文件部分log输出格式的设定 -->
         <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
             <file value="具体的log文件路径名" />
             <appendToFile value="true" />
             <maxSizeRollBackups value="10" />
             <maximumFileSize value="1MB" />
             <rollingStyle value="Size" />
             <staticLogFileName value="true" />
             <layout type="log4net.Layout.PatternLayout">
                 <header value="[Header]&#13;&#10;" />
                 <footer value="[Footer]&#13;&#10;" />
                 <ConversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
             </layout>
         </appender>
  
  <!-- Setup the root category, add the appenders and set the default level -->
         <root>
             <level value="ALL" />
             <appender-ref ref="ConsoleAppender" />
             <appender-ref ref="RollingLogFileAppender" />
         </root>
     </log4net>
 </configuration>


第三步:项目的AssemblyInfo.cs里面加上[assembly: log4net.Config.XmlConfigurator()],这样项目工程和log4net就
 建立了关联。【其中app.config应当放在解决方案的根目录下!】

如果不放在跟目录下,应当用这种方式:[assembly:log4net.Config.XmlConfigurator(ConfigFileExtension=@"c:/app.config",Watch=true)]

第四步:在程序中写入日志 
以下例子是先实例化Ilog:

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
然后在Application_Error方法中写自定义消息: 
protected void Application_Error(Object sender, EventArgs e) 

log.Info("/r/n客户机IP:"+ Request.UserHostAddress +"/r/n<BR>错误地址:"+ Request.Url, 
Server.GetLastError()); 
}

 

相关文章
|
4月前
|
人工智能 数据可视化 开发工具
Git log 进阶用法(含格式化、以及数据过滤)
Git log 进阶用法(含格式化、以及数据过滤)
|
4月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
76 0
|
12月前
|
IDE API 开发工具
拦截|篡改|伪造.NET类库中不限于public的类和方法
本文除了回顾拦截.NET类库中的方法,实现方法参数的篡改、方法返回结果的伪造,再着重介绍.NET类库中非public类及方法如何拦截。
拦截|篡改|伪造.NET类库中不限于public的类和方法
|
4天前
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
30 6
|
1月前
|
数据采集 监控 数据安全/隐私保护
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
在Selenium Web数据采集时,日志管理至关重要。通过调整`–log-level`参数可优化日志详细度,如设置为`INFO`记录一般操作信息。结合代理IP、Cookie及user-agent配置,不仅能提高采集成功率,还能规避反爬机制。合理选择日志级别有助于调试与性能平衡,在复杂的数据采集任务中保持程序稳定与可控。
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
|
28天前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
1月前
|
开发框架 前端开发 .NET
闲话 ASP.NET Core 数据校验(二):FluentValidation 基本用法
闲话 ASP.NET Core 数据校验(二):FluentValidation 基本用法
|
1月前
|
开发框架 .NET Linux
2款高效的.NET二维码生成类库
2款高效的.NET二维码生成类库
|
1月前
|
XML 开发框架 数据格式
.Net Core 开发框架,支持多版本的类库
.Net Core 开发框架,支持多版本的类库
33 0
|
2月前
|
人工智能 开发框架 Devops
.NET技术概览:** 本文探讨了.NET的核心特性,包括多语言支持、Common Language Runtime、丰富的类库和跨平台能力,强调其在企业级、Web、移动及游戏开发中的应用。
【7月更文挑战第4天】.NET技术概览:** 本文探讨了.NET的核心特性,包括多语言支持、Common Language Runtime、丰富的类库和跨平台能力,强调其在企业级、Web、移动及游戏开发中的应用。此外,讨论了.NET如何通过性能优化、DevOps集成、AI与ML支持以及开源策略应对未来挑战,为开发者提供强大工具,共创软件开发新篇章。
36 3