Logging with Log4net (二)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

log4net 是.net 的一款日志记录框架。

它提供了很多的方法来帮助记录日志:

clipboard

使用起来也比较方便:

选中项目,点击右键,然后选择 Manage NuGet Packages...

clipboard[1]

安装log4net package。

clipboard[2]

安装好Package 之后,需要用配置文件来配置log4net.

在项目中添加log4net.config 文件,这个配置文件会将日志以xml 的形式记录到 log.xml 中。

代码如下:

<log4net>

  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">

    <file value="log.xml" />

    <appendToFile value="true" />

    <datePattern value="yyyyMMdd" />

    <rollingStyle value="Date" />

    <layout type="log4net.Layout.XmlLayoutSchemaLog4j">

      <locationInfo value="true" />

    </layout>

  </appender>

  <root>

    <level value="ALL" />

    <appender-ref ref="RollingFileAppender" />

  </root>

</log4net>

这里有一点要注意,就是需要将log4net.config  copy 到bin folder,这样我们的Exe 才能找到这个配置文件。

clipboard[3]

 

在Program 的上面添加代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config" , Watch = true )]
//[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
namespace  Log4net
{
  class  Program
  {
   static  void  Main( string [] args)
   {
   }
  }
}
 
或者是:
 
namespace  Log4net
{
  class  Program
  {
   static  void  Main( string [] args)
   {
    XmlConfigurator.ConfigureAndWatch( new  FileInfo( "log4net.config" ));
   }
  }
}

配置好之后,我们就可以记录日志了:

下面是我记录的一个

image

 

在这里推荐使用EasyLogViewer 来查看日志:

http://www.codeproject.com/Tips/996927/EasyLogViewer-Yet-another-log-viewer-tool-but-Easi

image

 

当然还可以将日志文件的形式保存,只要我们更改下log4net.config 就可以了:

<log4net>

  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">

    <!--日志文件名开头-->

    <file value="project.log" />

    <!--是否追加到文件-->

    <appendToFile value="true" />

    <!--混合使用日期和文件大小变换日志文件名-->

    <rollingStyle value="Composite" />

    <!--日期的格式-->

    <datePattern value="&quot;.&quot;yyyyMMdd" />

    <!--最大变换数量-->

    <maxSizeRollBackups value="30" />

    <!--最大文件大小-->

    <maximumFileSize value="50MB" />

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%d [%t] %-5p %m - [%F:%L]%n" />

    </layout>

  </appender>

  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%d [%t] %-5p %m%n" />

    </layout>

  </appender>

  <root>

    <level value="ALL"></level>

    <appender-ref ref="RollingLogFileAppender"></appender-ref>

    <appender-ref ref="ConsoleAppender"></appender-ref>

  </root>

</log4net>






本文转自LoveJenny博客园博客,原文链接:http://www.cnblogs.com/LoveJenny/p/LoggingWithLog4net.html,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
logging 日志 模块
logging 日志 模块
|
3月前
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块
|
6月前
|
存储 监控 Java
【日志技术】JUL(java util logging)
【1月更文挑战第14天】JUL全称Java util Logging是java原生的日志框架,使用时不需要另外引用第三方类库,相对其他日志框 架使用方便,学习简单,能够在小型应用中灵活使用。
|
6月前
|
Python
python正确使用logging日志的方式
python正确使用logging日志的方式
97 0
|
Serverless Python
可以通过配置logging模块来记录日志
可以通过配置logging模块来记录日志
45 2
|
编解码 运维 监控
Python日志logging实战教程
我们从一个简单的日志记录实战,一步一步实现了自定义日志格式、写日志文件、抽出公共日志模块让其他模块用、同时写多个日志文件并进行日志文件切割、通过配置文件实现日志参数的定义、解决日志中文显示问题。基本覆盖了真实应用场景日志的使用。
299 0
|
监控 Python
logging 模块因权限问题写入日志失
logging 模块因权限问题写入日志失
logging 学习最终版-配置的不同级别日志打印的颜色
logging 学习最终版-配置的不同级别日志打印的颜色
|
JSON 数据格式 Python
python logging日志处理详解(2)
python logging日志处理详解(2)