`
tempsitegoogle
  • 浏览: 862033 次
文章分类
社区版块
存档分类
最新评论

log4Net使用及配置注解(整理)

 
阅读更多

%d:输出日志时间点的日期或时间,可以在其后指定格式,比如:%d{yyyy-mm-dd hh:mm:ss},输出类似:2005-7-19 17:49:27,刚好适合插入sqlserver;
%t产生该日志事件的线程名;
%p:日志的log_level,如debug、warn或者info;
%c:输出所属的类目,通常就是所在类的全名,如“inotes.default”;
%m:日志的内容;
%l:输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
%n 输出一个回车换行符,windows平台为“\r\n”,unix平台为“\n”

我们接着看Log4net的核心组成部分,Log4net主要由五个部分组成,分别为Logger,Appenders, Filters, Layouts 和Object Renders。
1) Logger:主要负责日志的记录,它记录的方式有多种,可以是以文件、数据库、控制台、邮件等多处方式;
2) Appenders:主要负责记录日志介质的方式,它的输出方式主要包括:
  AdoNetAppender:将日志记录到数据库中。可以采用SQL和存储过程两种方式。

  AspNetTraceAppender:能用ASP.NET中跟踪的方式查看记录的日志。

  BufferingForwardingAppender:在输出到子Appenders之前先缓存日志事件。

  ColoredConsoleAppender:在终端的窗口写下高亮度的日志事件。

  ConsoleAppender:将日志输出到控制台。

  EventLogAppender:将日志写到Windows操作系统的日志中去。

  FileAppender:将日志写到文件中。

  ForwardingAppender:用来为一个Appender指定一组约束。

  MemoryAppender:将日志存到内存缓冲区。
  NetSendAppender:将日志输出到Windows Messenger service,这些日志信息将在用户终端的对话框中显示。
  OutputDebugStringAppender:配置该Appender以向OutputDebugString API写入日志。
  RemotingAppender:通过.NET Remoting将日志写到远程接收端。
  RollingFileAppender:将日志以回滚文件的形式写到文件中。
  SmtpAppender:将日志写到邮件中。
  SmtpPickupDirAppender:配置与SmtpAppender类似,但要把SmtpHost换为PickupDir。
  TraceAppender:将日志写到.NET trace 系统。
  UdpAppender:将日志connectionless UDP datagrams的形式送到远程宿主或以UdpClient的形式广播。
  以上有些输出方式可能会经常用到,有些可能会不经常用到,具体我们在下面举例来说明。

  3) Layouts:主要负责把记录日志格式化输出,显示得格式主要如下:

  %timestamp [%thread] %-5level %logger{2} %ndc - %message%newline
  timestamp: 表示程序已经开始执行的时间。 单位[毫秒]。
  Thread:执行当前代码的线程。
  Level:日志的级别。
  Logger:日志相关请求的名称。
  Message:日志消息。
  newline:换行。

  1) 首先建立一个Windows应用程序的项目,然后需要增加应用程序的配置文件App.Config,如果在WEB应用程序中,就需要配置Web.Config,然后添加引用,加入之前我们在网上下载的Log4net.dll文件,然后在AssemblyInfo.cs文件里加入下面的语句:

  [assembly: log4net.Config.DOMConfigurator(ConfigFileExtension = "config", Watch = true)]

  2) 在配置文件里面设置如下:

< ?xml version="1.0" encoding="utf-8" ?>
  < configuration>

  < !--日志配置部分-->

  < configSections>

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

  < /configSections>

  < !-- Log4net配置设定 -->

  < log4net debug="false">

  < appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">< !--RollingFileAppender将日志以回滚文件的形式写到文件中-->

  < file value="log.txt" />< !--输出日志文件的路径-->

  < appendToFile value="true" />< !--输出日志时自动向后追加-->

  < rollingStyle value="Composite" />

  < datePattern value=".yyyyMMdd" />< !--输出日期格式-->

  < maxSizeRollBackups value="10" />< !--日志最大个数-->

  < maximumFileSize value="1MB" />< !--单个日志的最大容量-->

  < staticLogFileName value="true" />< !--true表示当前最新日志文件名永远为file节中-->

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

  < conversionPattern value="%date %-5level %logger -%m%n" />

  < /layout>

  < /appender>

  < root>

  < level value="WARN" />

  < appender-ref ref="RollingLogFileAppender" />

  < /root>

  < /log4net>

  < /configuration>

  %d, %date :表示当然的时间
  %level : 表示日志的级别
  %logger, %c:表示日志产生的主题,通常是所在的类名,便于定位问题
  %m, %message :表示日志的具体内容
  %n, %newline: 换行

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics