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 ="&#13;&#10;----------------------header--------------------------&#13;&#10;"   />
        
< param  name ="Footer"  value ="&#13;&#10;----------------------footer--------------------------&#13;&#10;"   />
      
</ 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&#13;&#10;"   />
        
< footer  value  ="FILE FOOTER&#13;&#10;"   />
        
< 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的方式有点小错误,希望知道的同志给点提示!!>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值