• 个人理解Log4Net


    Log4Net是记录日志方面的.net著名开源项目,现在最新版可以在http://logging.apache.org/log4net/download.html下载

    如何运用Log4Net?看过网上很多例子,一般都会为三步

    1.引用log4net.dll

     

    2.在AssemblyInfo.cs给定日志输出格式文件名
    [assembly:log4net.Config.DOMConfigurator(ConfigFile="log4net.xml", Watch=true)]


    log4net.xml文件内容

    <?xml version="1.0" encoding="utf-8" ?>
    <log4net>
      <root>
        <level value="ALL" />
        <appender-ref ref="rollingFile" />
      </root>

      <appender  name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
        <param name="File" value="log.txt" />
        <param name="AppendToFile" value="true" />
        <param name="RollingStyle" value="Date" />
        <param name="DatePattern" value="yyyy.MM.dd" />
        <param name="StaticLogFileName" value="true" />
        <layout type="log4net.Layout.PatternLayout,log4net">
          <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
          <param name="Header" value="----------------------header-------------------------- " />
          <param name="Footer" value="----------------------footer-------------------------- " />
        </layout>
      </appender>
      <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
        <layout type="log4net.Layout.PatternLayout,log4net">
          <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
        </layout>
      </appender>

      <logger name="Log4Net.ProLog">
        <level value="DEBUG" />
        <appender-ref  ref="rollingFile" />
        <appender-ref ref="coloredConsoleApp" />
        <appender-ref ref="SystemEvent" />
      </logger>
    </log4net>


    3.在代码中使用

    using log4net;

    ILog log = LogManager.GetLogger("log4net");
    log.Info("It's OK!");

    以上xml中的level value="ALL"

    Log4net支持多种级别的日志。优先级从高到低依次排列如下:

    FATAL > ERROR > WARN > INFO > DEBUG

    此外还有ALL(允许所有的日志请求)和OFF(拒绝所有的日志请求)这两种特殊的级别。


    以上xml中type="log4net.Appender.RollingFileAppender,log4net"是将日志以回滚文件的形式写到文件中。

    Log4net目前支持的输出方式包括:

    1 AdoNetAppender
         将日志记录到数据库中。可以采用SQL和存储过程两种方式。

    2 AnsiColorTerminalAppender
         在ANSI 窗口终端写下高亮度的日志事件。

    3 AspNetTraceAppender
         能用asp.net中Trace的方式查看记录的日志。

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

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

    6 EventLogAppender
         将日志写到Windows Event Log.

    7 FileAppender
         将日志写到文件中。

    8 LocalSyslogAppender
         将日志写到local syslog service (仅用于UNIX环境下).
    9 MemoryAppender
         将日志存到内存缓冲区。

    10 NetSendAppender
         将日志输出到Windows Messenger service.这些日志信息将在用户终端的对话框中显示。

    11 RemoteSyslogAppender
         通过UDP网络协议将日志写到Remote syslog service。

    12 RemotingAppender
         通过.NET Remoting将日志写到远程接收端。

    13 RollingFileAppender
         将日志以回滚文件的形式写到文件中。

    14 SmtpAppender
         将日志写到邮件中。

    15 TraceAppender
         将日志写到.NET trace 系统。

    16 UdpAppender
         将日志connectionless UDP datagrams的形式送到远程宿主或以UdpClient的形式广播。


    在appender中的layout是输出的格式

    Layouts控制日志显示的格式样式。日志的显示格式如下:

    "%timestamp [%thread] %-5level %logger - %message%newline"

    Timestamp: 表示程序已经开始执行的时间。 单位[毫秒]。

    Thread:执行当前代码的线程。

    Level:日志的级别。

    Logger:日志相关请求的名称。

    Message: 日志消息。


    Layouts还可以控制日志的输出样式,比如以普通形式或以xml等形式输出。

    来源:里面的资料摘直于其他博客,如果侵犯到你的权益,请通知我删除 :)


     

  • 相关阅读:
    ##3.Keystone 验证服务--openstack
    gitlab一键安装+配置(备份+LADP认证)
    【hexo】03config文件配置详解
    【hexo】01安装
    第6章 linux的文件权限与目录配置
    ubuntu14.04安装Anaconda
    ubuntu14.04安装opencv-python
    ubuntu14.04配置face_recognition环境
    php7 安装时需求的依赖包
    删除包的时候因为依赖关系导致失败的解决方法
  • 原文地址:https://www.cnblogs.com/hubj/p/1605952.html
Copyright © 2020-2023  润新知