zoukankan      html  css  js  c++  java
  • (原创)C#创建日志通用类<包含log4net日志和特殊日志(年/月/日/文件名.log)>

    public class LogerHelper
        {
            public LogerHelper()
            {
                SetConfig();
            }
            private static ILog loginfo = LogManager.GetLogger( "myLogger" );
            private static void SetConfig()
            {
                log4net.Config.XmlConfigurator.ConfigureAndWatch( new System.IO.FileInfo( "Configs/Log4net.xml" ) );
            }
    
            private static bool IsLoadConfig = false;
            /// <summary>
            /// 记录日志
            /// </summary>
            /// <param name="info">提示信息</param>
            public static void WriteLog( string info )
            {
                if (!IsLoadConfig)
                {
                    SetConfig();
                    IsLoadConfig = true;
                }
                if (loginfo.IsInfoEnabled)
                {
                    loginfo.Info( info );
                }
            }
    
            /// <summary>
            /// 记录异常
            /// </summary>
            /// <param name="info">错误</param>
            /// <param name="ex">Exception</param>
            public static void WriteLog( string info, Exception ex )
            {
                if (!IsLoadConfig)
                {
                    SetConfig();
                    IsLoadConfig = true;
                }
                if (loginfo.IsErrorEnabled)
                {
                    loginfo.Error( info, ex );
                }
            }
    
            /// <summary>
            /// 一天一个日志
            /// 生成方式:目录:Error/年/月/日/文件名.log
            /// </summary>
            /// <param name="message"></param>
            public static void LogToFile( string message )
            {
                try
                {
                    DirectoryInfo dir;
                    //修改记录日志为C盘根目录,并且注释判断当前程序目录内是否存在log日志文件夹
                    if (!Directory.Exists( "Error" ))
                    {
                        dir = Directory.CreateDirectory( "Error" );
                        dir.Create();
                    }
                    else
                    {
                        if (!Directory.Exists( @"Error/" + DateTime.Today.Year.ToString() + "/" + DateTime.Today.Month.ToString() + "/" + DateTime.Today.Day.ToString() ))
                        {
                            Directory.CreateDirectory( @"Error/" + DateTime.Today.Year.ToString() + "/" + DateTime.Today.Month.ToString() + "/" + DateTime.Today.Day.ToString() );
                        }
                    }
    
    
                    using (StreamWriter writer = new StreamWriter( @"Error/" + DateTime.Today.Year.ToString() + "/" + DateTime.Today.Month.ToString() + "/" + DateTime.Today.Day.ToString() + "/更新的接警单编号.log", true ))
                    {
                        try
                        {
                            writer.Write( "时间:\t" + DateTime.Now.ToString() + "\t \t \t \t" );
                            writer.WriteLine( message );
                            //writer.WriteLine( Environment.NewLine );
                            writer.Flush();
                            writer.Close();
                        }
                        catch (Exception exec)
                        {
                            WriteLog( "写入错误", exec );
                            writer.Dispose();
                        }
                    }
                }
                catch (Exception ex)
                {
                    WriteLog( "创建错误", ex );
                }
            }
        }
        //用的方法如下:
        LogerHelper.LogToFile( "创建日志"); 
        //这个将生成诸如这样的Error/年/月/日/文件名.log的日志LogerHelper.WriteLog("单独的日志");
        //这个将写入到Error/log.log文件夹下,只记录一个单独的infoLogerHelper.WriteLog("单独的日志",ex);
        //这个也将写入到Error/log.log文件夹下,记录单独的info,和一个异常信息//注意:此方法在winform里边是不用配置log4net的节点的,可以将附件中的log4net.xml放入到winform下的configs(若没有需要自己建立)下面,然后将这个xml的生成操作属性改为嵌入的资源 和 复制到输出目录改为:如果较新则复制


    附件下载
  • 相关阅读:
    第七章读书笔记
    第八章读书笔记
    第五章读书笔记
    第六章读书笔记
    总结
    第四章读书笔记
    第十一章读书笔记
    第十章读书笔记
    第九章读书笔记
    第八章读书笔记
  • 原文地址:https://www.cnblogs.com/smthts/p/2420450.html
Copyright © 2011-2022 走看看