zoukankan      html  css  js  c++  java
  • log4net的四方常用方式

    新年第一篇文章,希望大家喜欢。 

    四种常用方式:

    1.控制台

    2.文件

    3.数据库

    4.remoting

      <log4net>
        
    <root>
          
    <level value="ALL" />
          
    <appender-ref ref="consoleApp" />
          
    <appender-ref ref="RemotingAppender" />
        
    </root>

        
    <appender  name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
          
    <param name="File" value="Applog.txt" />
          
    <param name="AppendToFile" value="true" />
          
    <param name="MaxSizeRollBackups" value="10" />
          
    <param name="MaximumFileSize" value="5MB" />
          
    <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="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=RVGIS; User ID=topman;Password=topman" />
          
    <commandText value="INSERT INTO S_LOG (Datetime,Thread,Log_Level,Logger,Message) VALUES (:log_date, :thread, :log_level, :logger, :message)" />
          
    <!--在实际的运行中 buff值可以大一些-->
          
    <bufferSize value="2" />
          
    <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>

        
    <appender name="consoleApp" type="log4net.Appender.ColoredConsoleAppender">
          
    <mapping>
            
    <level value="ERROR" />
            
    <foreColor value="White" />
            
    <backColor value="Red, HighIntensity" />
          
    </mapping>
          
    <mapping>
            
    <level value="DEBUG" />
            
    <backColor value="Green" />
          
    </mapping>
          
    <mapping>
            
    <level value="WARN" />
            
    <backColor value="Yellow" />
          
    </mapping>
          
    <layout type="log4net.Layout.PatternLayout">
            
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          
    </layout>
        
    </appender>

        
    <appender name="RemotingAppender" type="log4net.Appender.RemotingAppender" >
          
    <sink value="tcp://localhost:8085/ServerObject" />
          
    <lossy value="true" />
          
    <bufferSize value="2" />
          
    <onlyFixPartialEventData value="true" />
          
    <evaluator type="log4net.Core.LevelEvaluator">
            
    <threshold value="WARN"/>
          
    </evaluator>
        
    </appender>

        
    <logger name="Log4Net.Log">
          
    <level value= "DEBUG" />
          
    <appender-ref  ref="AdoNetAppender_Oracle" />
          
    <appender-ref  ref="rollingFile" />
          
    <appender-ref ref="consoleApp" />
        
    </logger>
        
      
    </log4net>

    其中remoting的方式比较麻烦,在服务端还必须配置:

      <!-- Register a section handler for the log4net section-->
      
    <configSections >
        
    <section name ="log4net" type ="System.Configuration.IgnoreSectionHandler" />
      
    </configSections>
      
    <!-- This section contains the log4net configuration settings -->
      
    <log4net >
        
    <appender name ="ConsoleAppender" type ="log4net.Appender.ConsoleAppender">
          
    <layout type ="log4net.Layout.PatternLayout">
            
    <conversionPattern value ="%date [%thread] %-5levele%logger (%property{log4net:HostName}) [%ndc] - %message%newline" />
          
    </layout>
        
    </appender>

        
    <appender name ="LogFileAppender" type ="log4net.Appender.FileAppender">
          
    <file value ="log-file.txt" />
          
    <sppendToFile value ="true" />
          
    <layout type ="log4net.Layout.PatternLayout">
            
    <header value ="FILE HEADER " />
            
    <footer value ="FILE FOOTER " />
            
    <conversionPattern value ="%date [%thread] %-5levele%logger (%property{log4net:HostName}) [%ndc] - %message%newline" />
          
    </layout>
        
    </appender>

        
    <root>
          
    <level value ="DEBUG" />
          
    <appender-ref ref ="LogFileAppender" />
        
    </root>

      
    </log4net>

    <remoting的方式有点小错误,希望知道的同志给点提示!!>

  • 相关阅读:
    ccnet 配置真折腾
    幻灯片效果代码(asp版本)
    Microsoft Office 服务器系统要求
    取数据库N到M的记录
    [心得]关于iframe页面滚动条。
    和我一起学Windows Workflow Foundation(2)让WF通过参数接收数据 [转]
    新闻图片效果
    AJAX
    和我一起学Windows Workflow Foundation(1)创建和调试一个WF实例 [转]
    关闭父窗口,打开新窗口
  • 原文地址:https://www.cnblogs.com/goody9807/p/1235473.html
Copyright © 2011-2022 走看看