• 【Vegas原创】Log4Net实践


    Windows服务程序,将所出现的问题写入log

    Service1.cs

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.ServiceProcess;
    using System.Text;
    using System.Net.Mail;
    [assembly: log4net.Config.XmlConfigurator(Watch = true)]

    namespace EIPMailService
    {
      
        
    public partial class Service1 : ServiceBase
        {
            DBAccess db 
    = new DBAccess();
            
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            
    string strEX = "EX";

            
    public Service1()
            {
                InitializeComponent();
            }

            
    protected override void OnStart(string[] args)
            {
                
    // TODO: 在此处添加代码以启动服务。
            }

            
    protected override void OnStop()
            {
                
    // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
            }

      
            
    void sendMail(string strID)
            {
                
    try
                {
                    
    //
                }
                
    catch(Exception ex)
                {
                //IF repeat,do not write
                    if (ex.ToString() == strEX)
                    {

                    }
                    
    else
                    {
                        log.Error(
    "Error", ex);
                        strEX 
    = ex.ToString();
                    }
                }

                

            }
     
            
    private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
            {
               
    //
                        sendMail(strID);
                
    //
            }
             

        }
    }

    web.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      
    <configSections>
        
    <!--<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />-->
        
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      
    </configSections>
      <appSettings>
        

      
    </appSettings>
      
      
    <!-- This section contains the log4net configuration settings -->
      
    <log4net>
        
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
          
    <file value="F:\vegas.txt" />
          
    <!-- Example using environment variables in params -->
          
    <!-- <file value="${TMP}\log-file.txt" /> -->
          
    <!--<sppendToFile value="true" />-->
          
    <!-- An alternate output encoding can be specified -->
          
    <!-- <encoding value="unicodeFFFE" /> -->
          
    <layout type="log4net.Layout.PatternLayout">
            
    <footer value="[Footer]--Test By Vegas " />
            
    <conversionPattern value="%date [%thread] %-5level %logger [%ndc] &lt;%property{auth}&gt; - %message%newline" />
          
    </layout>
          
    <!-- Alternate layout using XML            
                <layout type="log4net.Layout.XMLLayout" /> 
    -->
        
    </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>

        
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
          
    <layout type="log4net.Layout.PatternLayout">
            
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          
    </layout>
        
    </appender>

        
    <!-- Setup the root category, add the appenders and set the default level -->
        
    <root>
          
    <appender-ref ref="LogFileAppender" />
          
    <appender-ref ref="ConsoleAppender" />
          
    <appender-ref ref="EventLogAppender" />
        
    </root>
      
    </log4net>

    </configuration>



     

  • 相关阅读:
    viewpager中彻底性动态添加、删除Fragment
    Android仿微信界面--使用Fragment实现(慕课网笔记)
    Android progressBar 自定义
    Android 使用PopupWindow实现弹出菜单
    android手机上安装apk时出现解析包错误的一个解决办法
    设计模式 单例模式
    android 自定义AlertDialog
    android listview异步加载图片
    又优化了一下 Android ListView 异步加载图片
    Hadoop概念学习系列之谈谈RPC(三十三)
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744501.html
Copyright © 2020-2023  润新知