`
thoreau
  • 浏览: 356095 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C# 自定义日志类

 
阅读更多

转自:http://blog.csdn.net/l09302/article/details/18304299

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace CommDataApp.Utils
{
    class Logger
    {

        //日志保存路径,不包括文件名
        private static string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "log";
        //日志完整路径,包括文件名
        //private static string file = filePath + "";
        private static string logFileName = filePath + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";

        /// <summary>
        /// 创建文件夹和日志文件
        /// </summary>
        private static void CreateLogFile()
        {
            //文件不存在,则创建新文件
            if (!Directory.Exists(filePath))
            {
                try
                {
                    //按照路径创建目录
                    Directory.CreateDirectory(filePath);
                }
                catch (System.Exception e)
                {
                    throw new System.Exception(e + "创建目录失败!");
                }
            }
            if (!File.Exists(logFileName))
            {
                FileStream filestream = null;
                try
                {
                    filestream = File.Create(logFileName);
                    /*创建日志头部*/
                    filestream.Dispose();
                    filestream.Close();
                    CreateLogHead();
                }
                catch (System.Exception ex)
                {
                    throw new System.Exception(ex + "创建日志文件失败");
                }
            }
        }


        /// <summary>
        /// 创建日志头部
        /// </summary>
        private static void CreateLogHead()
        {
            System.IO.StreamWriter sw = null;
            try
            {
                sw = new System.IO.StreamWriter(logFileName, true, System.Text.Encoding.UTF8);
                sw.WriteLine();
                sw.WriteLine();
                sw.WriteLine("【日志创建时间:" + System.DateTime.Now.ToString() + "】【日志内容******************************************************】");
                sw.WriteLine();
                sw.WriteLine();
            }
            catch { }
            finally
            {
                sw.Flush();
                sw.Dispose();
                sw.Close();
            }
        }



        /// <summary>
        ///写入日志,
        ///自动创建文件夹和文件,
        ///日志文件创建到系统启动项根目录的Log文件夹下。
        /// </summary>
        /// <param name="logText">参数,日志内容</param>
        /// <returns>日志写入成功返回true,失败返回false</returns>
        public static void WriteLogToFile(string logText)
        {
            CreateLogFile();
            //true 如果日志文件存在则继续追加日志 
            System.IO.StreamWriter sw = null;
            try
            {
                sw = new System.IO.StreamWriter(logFileName, true, System.Text.Encoding.UTF8);
                sw.WriteLine("【  " + System.DateTime.Now.ToString() + "  】" + "【  " + logText + "  】");
                //return true;
            }
            catch (System.Exception ex)
            {
                //return false;
                throw new System.Exception(ex + "写入日志失败,检查!");
            }
            finally
            {
                sw.Flush();
                sw.Dispose();
                sw.Close();
            }
        }
    }
}

 

分享到:
评论

相关推荐

    C#-自定义日志操作类

    C#-自定义日志操作类

    C#自定义日志记录

    主要为大家详细介绍了C#自定义日志记录的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    C#版日志操作类,功能强大方便实用

    C#版日志操作类,能够自定义日志文件类型,将业务日志、数据日志、异常日志等各类型日志分开记录,自动以日期和日志类型创建日志文本文件,开发时调用 WriteLog 一个方法即可完成日志记录,支持自定义日志存放路径等...

    C# 打印日志工具类

    C# 打印日志工具类 可自定义格式 路径 ,内容

    c#自定义组件及添加工具箱图标的方法和示例源码

    两份文档 1.WinForm控件开发总结.doc 2.为自定义组件添加工具箱图标.doc 两个自定义组件的源码 1.TLogWriter:日志文件记录类 2.TAppPath:取应用程序的执行路径

    c#日志分析器

    有强大的日志分析功能 自定义日志文件的大小。能按异常的等级记录日志。是c#程序开发中一个很好的帮手

    C# 自定义控件-button

    自定义按钮控件,其功能包括:LED,标题,日志,颜色状态,是否启用等,可满足日常开发使用。 适用于使用C# 尽心winform开发人员,如需添加功能可按照现有模板添加; 基于现有控件可以延申整个按钮功能,易于学习,...

    C#自定义异常类型的方法和注意项

    C#中的异常都是从SystemException(系统异常)和ApplicationException(应用程序异常)两个类派生而来, 在自定义异常类时通常都是从ApplicationException派生,只有在开发.NETFramework的扩展类库时才考虑从...

    log4net 日志类封装

    log4net 日志类封装 log4net 日志类封装

    C#定时调度任务服务

    Quartz.net做为任务调度核心,利用Log4Net做为日志输出,C#完成WINDOWS服务在后台定时执行任务;

    C#实现自定义windows系统日志的方法

    主要介绍了C#实现自定义windows系统日志的方法,涉及C#针对windows系统日志的创建、读写及删除技巧,非常具有实用价值,需要的朋友可以参考下

    c#.NET中日志信息写入Windows日志中解决方案

     在Windows2000及以上操作系统中,有一个Windows日志系统,它包括应用程序(Application)事件日志、系统(System)日志和安全(Security)日志,事件日志也可以是自定义日志。在.net Framework中也提供了相应的类...

    日志管理公开类

    日志文件管理类 功能: 1、支持多线程写日志功能 2、支持日志过期文件删除功能; 3、支持自定义日志文件名功能; 4、支持自定义日志类型功能; 5、支持日志文件内容按需检索功能;

    c# log4net封装类及配置文件

    内容包括log4net.dll 和封装类以及配置文件,日志输出目录可在配置文件中自定义。

    C#WebService-Soap扩展实现安全认证

    1、利用SoapExtension,SoapExtensionAttribute,实现Soap自定义Attribute(标签)扩展类。 2、利用SoapHeader应用Soap扩展。 3、在写WebService时只需加认证标签,客户端调用时传入SoapHeader,即可完成认证。 4、...

    用于将日志发送到SignalR集线器的自定义NLog目标。此版本基于SignalR2.0。_JavaScript_C#_.zip

    用于将日志发送到SignalR集线器的自定义NLog目标。此版本基于SignalR2.0。_JavaScript_C#_.zip

    Codesys记录日志,获取系统时间,功能块源码

    实现类似于C#上位机那种Log日志功能,即运行一次即可实现记录当前在何种时间做了何种动作,带时间戳和日期功能。可实现每日机器运行日志的功能。同时也方便与上位机或协作方进行查错,带时间戳功能,在哪一毫秒进行...

    ffplay自定义播放器封装C#接口

    提供了x86、x64dll、qt示例、C#封装对象代码及示例项目,不包含播放器c语言源码,请根据需要下载。版本v1.3.15。原文链接:https://blog.csdn.net/u013113678/article/details/124759757。 * 更新日志 * v1.3:支持...

Global site tag (gtag.js) - Google Analytics