1、LogHelper 日志记录帮助类

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

namespace Weixin.Utils
{
    public enum LogType
    {
        Overall,
    }

    public class LogHelper
    {
        public static string LogPath
        {
            get
            {
                return AppDomain.CurrentDomain.BaseDirectory+@"\log";
            }
        }

        public enum LogLevel
        {
            Info,
            Error
        }

        public static void Info(string message, LogType logType = LogType.Overall)
        {
            if (string.IsNullOrEmpty(message))
                return;
            var path = string.Format(@"\{0}\", logType.ToString());
            WriteLog(path, "", message);
        }

        public static void Error(string message, LogType logType = LogType.Overall)
        {
            if (string.IsNullOrEmpty(message))
                return;
            var path = string.Format(@"\{0}\", logType.ToString());
            WriteLog(path, "Error ", message);
        }

        public static void Error(Exception e, LogType logType = LogType.Overall)
        {
            if (e == null)
                return;
            var path = string.Format(@"\{0}\", logType.ToString());
            WriteLog(path, "Error ", e.Message);
        }

        private static void WriteLog(string path, string prefix, string message)
        {
            path = LogPath + path;
            var fileName = string.Format("{0}{1}.log", prefix, DateTime.Now.ToString("yyyyMMdd"));

            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);

            using (FileStream fs = new FileStream(path + fileName, FileMode.Append, FileAccess.Write,
                                                  FileShare.Write, 1024, FileOptions.Asynchronous))
            {
                byte[] buffer = System.Text.Encoding.UTF8.GetBytes(DateTime.Now.ToString("HH:mm:ss") + " " + message + "\r\n");
                IAsyncResult writeResult = fs.BeginWrite(buffer, 0, buffer.Length,
                    (asyncResult) =>
                    {
                        var fStream = (FileStream)asyncResult.AsyncState;
                        fStream.EndWrite(asyncResult);
                    },

                    fs);
                fs.Close();
            }
        }
    }
}

2、帮助类使用

 var msg = "日志文本信息";
  LogHelper.Info(msg);

最新文章

  1. react+redux教程(八)连接数据库的redux程序
  2. UVA11021 Tribles[离散概率 DP]
  3. Django用已有的数据库
  4. sql语句中----删除表数据drop、truncate和delete的用法
  5. Unity3d 换装Avatar系统
  6. [HDOJ1232]畅通工程
  7. 关于div 浮动在select,或table控件之上
  8. 制作qtopia-2.2.0和qt4文件系统
  9. SimpleDateFormat使用简析
  10. (转)DevExpress GridView属性设置
  11. Linq to sql介绍及增、删、改、查
  12. 支付宝支付-tp5
  13. 跨专业学习编程的苦逼生活 QWQ嘤嘤嘤
  14. Pandas与Matplotlib基础
  15. (NO.00001)iOS游戏SpeedBoy Lite成形记(十三)
  16. 获取list,有内容就赋值,根据ID显现NAME,没有显现list
  17. Oracle 重建控制文件一例
  18. js 2017 - 2
  19. 深入理解Java的堆内存和线程内存
  20. python之celery使用详解一

热门文章

  1. 网络搬砖是件苦力活 CMS推荐GHOS博客程序
  2. 读Ghost博客源码与自定义Ghost博客主题
  3. [Python Study Notes]字典操作
  4. (二)异步方法BeginInvoke和EndInvoke
  5. CentOS 6下编译安装MySQL 5.6
  6. 你所有不知的margin属性
  7. 基于JDK1.8的HashMap分析
  8. python多版本以及各种包管理
  9. yii pageTitle与Yii::app()->name的区别
  10. Log4j与Log4j2