zoukankan      html  css  js  c++  java
  • log4net详细配置 转

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
      </configSections>
      <log4net>
        <!--MS SQL Server-->
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          <bufferSize value="100" />
          <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
          <connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]" />
          <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
          <parameter>
            <parameterName value="@log_date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value="@thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@log_level" />
            <dbType value="String" />
            <size value="50" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@message" />
            <dbType value="String" />
            <size value="4000" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@exception" />
            <dbType value="String" />
            <size value="2000" />
            <layout type="log4net.Layout.ExceptionLayout" />
          </parameter>
        </appender>
        
        <!--MS Access-->
        <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
          <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\log\access.mdb;User Id=;Password=;" />
          <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
          <parameter>
            <parameterName value="@log_date" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%date" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@log_level" />
            <dbType value="String" />
            <size value="50" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@message" />
            <dbType value="String" />
            <size value="1024" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
        </appender>
        
        
        <!--Oracle9i-->
        <appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
          <connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
          <connectionString value="data source=[mydatabase];User ID=[user];Password=[password]" />
          <commandText value="INSERT INTO Log (Datetime,Thread,Log_Level,Logger,Message) VALUES (:log_date, :thread, :log_level, :logger, :message)" />
          <bufferSize value="128" />
          <parameter>
            <parameterName value=":log_date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value=":thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value=":log_level" />
            <dbType value="String" />
            <size value="50" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value=":logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value=":message" />
            <dbType value="String" />
            <size value="4000" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
        </appender>
        
        
        
        <!--IBM DB2-->
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          <bufferSize value="100" />
          <connectionType value="IBM.Data.DB2.DB2Connection,IBM.Data.DB2, Version=8.1.2.1" />
          <connectionString value="server=192.168.0.0;database=dbuser;user Id=username;password=password;persist security info=true" />
          <commandText value="INSERT INTO myschema.Log (Date,Thread,Level,Logger,Message,Exception) VALUES (@log_date,@thread,@log_level,@logger,@message,@exception)" />
          <parameter>
            <parameterName value="@log_date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value="@thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@log_level" />
            <dbType value="String" />
            <size value="500" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@message" />
            <dbType value="String" />
            <size value="4000" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@exception" />
            <dbType value="String" />
            <size value="2000" />
            <layout type="log4net.Layout.ExceptionLayout" />
          </parameter>
        </appender>
        
        
        <!--SQLite-->
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          <bufferSize value="100" />
          <connectionType value="Finisar.SQLite.SQLiteConnection, SQLite.NET, Version=0.21.1869.3794, Culture=neutral, PublicKeyToken=c273bd375e695f9c" />
          <connectionString value="Data Source=c:\\inetpub\\wwwroot\\logs\\log4net.db;Version=3;" />
          <commandText value="INSERT INTO Log (Date, Level, Logger, Message) VALUES (@Date, @Level, @Logger, @Message)" />
          <parameter>
            <parameterName value="@Date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value="@Level" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@Logger" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@Message" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
        </appender>
        
        
        <!--AspNetTraceAppender-->
        <appender name="AspNetTraceAppender" type="log4net.Appender.AspNetTraceAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--BufferingForwardingAppender-->
        <!--<appender name="BufferingForwardingAppender" type="log4net.Appender.BufferingForwardingAppender" >
          <bufferSize value="100"/>
          <appender-ref ref="ConsoleAppender" />
        </appender>-->
        <appender name="BufferingForwardingAppender" type="log4net.Appender.BufferingForwardingAppender" >
          <bufferSize value="512" />
          <lossy value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="WARN"/>
          </evaluator>
          <appender-ref ref="ConsoleAppender" />
        </appender>
        
        
        <!--ColoredConsoleAppender-->
        <!--<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
          <mapping>
            <level value="ERROR" />
            <foreColor value="White" />
            <backColor value="Red, HighIntensity" />
          </mapping>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
          <mapping>
            <level value="ERROR" />
            <foreColor value="White" />
            <backColor value="Red, HighIntensity" />
          </mapping>
          <mapping>
            <level value="DEBUG" />
            <backColor value="Green" />
          </mapping>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        
        <!--ConsoleAppender-->
        <!--<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <target value="Console.Error" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        
        
        
        
        <!--EventLogAppender-->
        <!--<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
          <applicationName value="MyApp" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--FileAppender-->
        <!--<appender name="FileAppender" type="log4net.Appender.FileAppender">
          <file value="log-file.txt" />
          <appendToFile value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <appender name="FileAppender" type="log4net.Appender.FileAppender">
          <file value="${TMP}\log-file.txt" />
          <appendToFile value="true" />
          <encoding value="unicodeFFFE" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="FileAppender" type="log4net.Appender.FileAppender">
          <file value="${TMP}\log-file.txt" />
          <appendToFile value="true" />
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--ForwardingAppender-->
        <appender name="ForwardingAppender" type="log4net.Appender.ForwardingAppender" >
          <threshold value="WARN"/>
          <appender-ref ref="ConsoleAppender" />
        </appender>
        
        
        <!--MemoryAppender-->
        <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
          <onlyFixPartialEventData value="true" />
        </appender>
        
        
        <!--NetSendAppender-->
        <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
          <onlyFixPartialEventData value="true" />
        </appender>
        
        
        <!--NetSendAppender-->
        <appender name="NetSendAppender" type="log4net.Appender.NetSendAppender">
          <threshold value="ERROR" />
          <server value="SQUARE" />
          <recipient value="nicko" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--OutputDebugStringAppender-->
        <appender name="OutputDebugStringAppender" type="log4net.Appender.OutputDebugStringAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--RemotingAppender-->
        <!--<appender name="RemotingAppender" type="log4net.Appender.RemotingAppender" >
          <sink value="tcp://localhost:8085/LoggingSink" />
          <lossy value="false" />
          <bufferSize value="95" />
          <onlyFixPartialEventData value="true" />
        </appender>-->
        <appender name="RemotingAppender" type="log4net.Appender.RemotingAppender" >
          <sink value="tcp://localhost:8085/LoggingSink" />
          <lossy value="true" />
          <bufferSize value="200" />
          <onlyFixPartialEventData value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="ERROR"/>
          </evaluator>
        </appender>
        
        
        
        <!--RollingFileAppender-->
        <!--<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="log.txt" />
          <appendToFile value="true" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="100KB" />
          <staticLogFileName value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="logfile" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyyMMdd-HHmm" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="logfile" />
          <appendToFile value="true" />
          <rollingStyle value="Composite" />
          <datePattern value="yyyyMMdd" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="1MB" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="logfile.txt" />
          <appendToFile value="false" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="-1" />
          <maximumFileSize value="50GB" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--SmtpAppender-->
        <!--<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <smtpHost value="SMTPServer.domain.com" />
          <bufferSize value="512" />
          <lossy value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="WARN"/>
          </evaluator>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
          </layout>
        </appender>
        <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <smtpHost value="SMTPServer.domain.com" />
          <bufferSize value="512" />
          <lossy value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
          </layout>
        </appender>-->
        <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <smtpHost value="SMTPServer.domain.com" />
          <bufferSize value="512" />
          <lossy value="false" />
          <evaluator type="log4net.Core.LevelEvaluator,log4net">
            <threshold value="WARN" />
          </evaluator>
          <layout type="log4net.Layout.PatternLayout,log4net">
            <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
          </layout>
        </appender>
        
        
        <!--SmtpPickupDirAppender-->
        <appender name="SmtpPickupDirAppender" type="log4net.Appender.SmtpPickupDirAppender">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <pickupDir value="C:\SmtpPickup" />
          <bufferSize value="512" />
          <lossy value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="WARN"/>
          </evaluator>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
          </layout>
        </appender>
        
        
        <!--TraceAppender-->
        <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--UdpAppender-->
        <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
          <localPort value="8080" />
          <remoteAddress value="224.0.0.1" />
          <remotePort value="8080" />
          <layout type="log4net.Layout.PatternLayout, log4net">
            <conversionPattern value="%-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
      </log4net>
    </configuration>

    Log4Net 日志基本

    Log4net 分为如下几个级别:

    FATAL  毁灭级别

    ERROR 错误级别

    WARN 警告级别

    INFO 消息级别

    DEBUG 调试级别

          这几种日志级别 FATAL> ERROR> WARN> INFO>DEBUG

          只有日志输出级别大于或等于配置的级别才能输出日志信息

          比如我的日志配置级别为INFO

          那么只有log.Info() log.Warn()log.Error() log.Fatal()才能输出日志信息,Debug方式就不能输出。

           Log4net中还有两种特殊的配置级别: ALL 允许所有的日志级别输出 OFF 拒绝所有的日志级别输出

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
      </configSections>
      <log4net>
        <!--MS SQL Server-->
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          <bufferSize value="100" />
          <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
          <connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]" />
          <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
          <parameter>
            <parameterName value="@log_date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value="@thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@log_level" />
            <dbType value="String" />
            <size value="50" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@message" />
            <dbType value="String" />
            <size value="4000" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@exception" />
            <dbType value="String" />
            <size value="2000" />
            <layout type="log4net.Layout.ExceptionLayout" />
          </parameter>
        </appender>
        
        <!--MS Access-->
        <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
          <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\log\access.mdb;User Id=;Password=;" />
          <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
          <parameter>
            <parameterName value="@log_date" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%date" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@log_level" />
            <dbType value="String" />
            <size value="50" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@message" />
            <dbType value="String" />
            <size value="1024" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
        </appender>
        
        
        <!--Oracle9i-->
        <appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
          <connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
          <connectionString value="data source=[mydatabase];User ID=[user];Password=[password]" />
          <commandText value="INSERT INTO Log (Datetime,Thread,Log_Level,Logger,Message) VALUES (:log_date, :thread, :log_level, :logger, :message)" />
          <bufferSize value="128" />
          <parameter>
            <parameterName value=":log_date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value=":thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value=":log_level" />
            <dbType value="String" />
            <size value="50" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value=":logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value=":message" />
            <dbType value="String" />
            <size value="4000" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
        </appender>
        
        
        
        <!--IBM DB2-->
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          <bufferSize value="100" />
          <connectionType value="IBM.Data.DB2.DB2Connection,IBM.Data.DB2, Version=8.1.2.1" />
          <connectionString value="server=192.168.0.0;database=dbuser;user Id=username;password=password;persist security info=true" />
          <commandText value="INSERT INTO myschema.Log (Date,Thread,Level,Logger,Message,Exception) VALUES (@log_date,@thread,@log_level,@logger,@message,@exception)" />
          <parameter>
            <parameterName value="@log_date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value="@thread" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%thread" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@log_level" />
            <dbType value="String" />
            <size value="500" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@logger" />
            <dbType value="String" />
            <size value="255" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@message" />
            <dbType value="String" />
            <size value="4000" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@exception" />
            <dbType value="String" />
            <size value="2000" />
            <layout type="log4net.Layout.ExceptionLayout" />
          </parameter>
        </appender>
        
        
        <!--SQLite-->
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          <bufferSize value="100" />
          <connectionType value="Finisar.SQLite.SQLiteConnection, SQLite.NET, Version=0.21.1869.3794, Culture=neutral, PublicKeyToken=c273bd375e695f9c" />
          <connectionString value="Data Source=c:\\inetpub\\wwwroot\\logs\\log4net.db;Version=3;" />
          <commandText value="INSERT INTO Log (Date, Level, Logger, Message) VALUES (@Date, @Level, @Logger, @Message)" />
          <parameter>
            <parameterName value="@Date" />
            <dbType value="DateTime" />
            <layout type="log4net.Layout.RawTimeStampLayout" />
          </parameter>
          <parameter>
            <parameterName value="@Level" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%level" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@Logger" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%logger" />
            </layout>
          </parameter>
          <parameter>
            <parameterName value="@Message" />
            <dbType value="String" />
            <layout type="log4net.Layout.PatternLayout">
              <conversionPattern value="%message" />
            </layout>
          </parameter>
        </appender>
        
        
        <!--AspNetTraceAppender-->
        <appender name="AspNetTraceAppender" type="log4net.Appender.AspNetTraceAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--BufferingForwardingAppender-->
        <!--<appender name="BufferingForwardingAppender" type="log4net.Appender.BufferingForwardingAppender" >
          <bufferSize value="100"/>
          <appender-ref ref="ConsoleAppender" />
        </appender>-->
        <appender name="BufferingForwardingAppender" type="log4net.Appender.BufferingForwardingAppender" >
          <bufferSize value="512" />
          <lossy value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="WARN"/>
          </evaluator>
          <appender-ref ref="ConsoleAppender" />
        </appender>
        
        
        <!--ColoredConsoleAppender-->
        <!--<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
          <mapping>
            <level value="ERROR" />
            <foreColor value="White" />
            <backColor value="Red, HighIntensity" />
          </mapping>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
          <mapping>
            <level value="ERROR" />
            <foreColor value="White" />
            <backColor value="Red, HighIntensity" />
          </mapping>
          <mapping>
            <level value="DEBUG" />
            <backColor value="Green" />
          </mapping>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        
        <!--ConsoleAppender-->
        <!--<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <target value="Console.Error" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        
        
        
        
        <!--EventLogAppender-->
        <!--<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
          <applicationName value="MyApp" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--FileAppender-->
        <!--<appender name="FileAppender" type="log4net.Appender.FileAppender">
          <file value="log-file.txt" />
          <appendToFile value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <appender name="FileAppender" type="log4net.Appender.FileAppender">
          <file value="${TMP}\log-file.txt" />
          <appendToFile value="true" />
          <encoding value="unicodeFFFE" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="FileAppender" type="log4net.Appender.FileAppender">
          <file value="${TMP}\log-file.txt" />
          <appendToFile value="true" />
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--ForwardingAppender-->
        <appender name="ForwardingAppender" type="log4net.Appender.ForwardingAppender" >
          <threshold value="WARN"/>
          <appender-ref ref="ConsoleAppender" />
        </appender>
        
        
        <!--MemoryAppender-->
        <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
          <onlyFixPartialEventData value="true" />
        </appender>
        
        
        <!--NetSendAppender-->
        <appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
          <onlyFixPartialEventData value="true" />
        </appender>
        
        
        <!--NetSendAppender-->
        <appender name="NetSendAppender" type="log4net.Appender.NetSendAppender">
          <threshold value="ERROR" />
          <server value="SQUARE" />
          <recipient value="nicko" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--OutputDebugStringAppender-->
        <appender name="OutputDebugStringAppender" type="log4net.Appender.OutputDebugStringAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--RemotingAppender-->
        <!--<appender name="RemotingAppender" type="log4net.Appender.RemotingAppender" >
          <sink value="tcp://localhost:8085/LoggingSink" />
          <lossy value="false" />
          <bufferSize value="95" />
          <onlyFixPartialEventData value="true" />
        </appender>-->
        <appender name="RemotingAppender" type="log4net.Appender.RemotingAppender" >
          <sink value="tcp://localhost:8085/LoggingSink" />
          <lossy value="true" />
          <bufferSize value="200" />
          <onlyFixPartialEventData value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="ERROR"/>
          </evaluator>
        </appender>
        
        
        
        <!--RollingFileAppender-->
        <!--<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="log.txt" />
          <appendToFile value="true" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="100KB" />
          <staticLogFileName value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="logfile" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyyMMdd-HHmm" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="logfile" />
          <appendToFile value="true" />
          <rollingStyle value="Composite" />
          <datePattern value="yyyyMMdd" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="1MB" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>-->
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="logfile.txt" />
          <appendToFile value="false" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="-1" />
          <maximumFileSize value="50GB" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--SmtpAppender-->
        <!--<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <smtpHost value="SMTPServer.domain.com" />
          <bufferSize value="512" />
          <lossy value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="WARN"/>
          </evaluator>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
          </layout>
        </appender>
        <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <smtpHost value="SMTPServer.domain.com" />
          <bufferSize value="512" />
          <lossy value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
          </layout>
        </appender>-->
        <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <smtpHost value="SMTPServer.domain.com" />
          <bufferSize value="512" />
          <lossy value="false" />
          <evaluator type="log4net.Core.LevelEvaluator,log4net">
            <threshold value="WARN" />
          </evaluator>
          <layout type="log4net.Layout.PatternLayout,log4net">
            <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline" />
          </layout>
        </appender>
        
        
        <!--SmtpPickupDirAppender-->
        <appender name="SmtpPickupDirAppender" type="log4net.Appender.SmtpPickupDirAppender">
          <to value="to@domain.com" />
          <from value="from@domain.com" />
          <subject value="test logging message" />
          <pickupDir value="C:\SmtpPickup" />
          <bufferSize value="512" />
          <lossy value="true" />
          <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="WARN"/>
          </evaluator>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
          </layout>
        </appender>
        
        
        <!--TraceAppender-->
        <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
        
        
        <!--UdpAppender-->
        <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
          <localPort value="8080" />
          <remoteAddress value="224.0.0.1" />
          <remotePort value="8080" />
          <layout type="log4net.Layout.PatternLayout, log4net">
            <conversionPattern value="%-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
      </log4net>
    </configuration>

    Log4Net 日志基本

    Log4net 分为如下几个级别:

    FATAL  毁灭级别

    ERROR 错误级别

    WARN 警告级别

    INFO 消息级别

    DEBUG 调试级别

          这几种日志级别 FATAL> ERROR> WARN> INFO>DEBUG

          只有日志输出级别大于或等于配置的级别才能输出日志信息

          比如我的日志配置级别为INFO

          那么只有log.Info() log.Warn()log.Error() log.Fatal()才能输出日志信息,Debug方式就不能输出。

           Log4net中还有两种特殊的配置级别: ALL 允许所有的日志级别输出 OFF 拒绝所有的日志级别输出

  • 相关阅读:
    uva1610 Party Games
    uva1442 Cav
    uva1609 Foul Play
    uva1608 Non-boring sequences
    uva12174 滑动窗口+预处理
    uva 1451 数形结合
    light oj 1336 sigma function
    找常用词(字符串处理)问题
    指定排序问题
    完数问题
  • 原文地址:https://www.cnblogs.com/rodney/p/2093030.html
Copyright © 2011-2022 走看看