[ 转载]C#好用的自定义日志功能实现

using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Text;
 using System.Windows.Forms;
 using System.IO;
 
 namespace LogDemo
 {
     public partial class Form1 : Form
     {
         public Form1()
         {
             InitializeComponent();
         }
         /// <summary>
         /// 操作文件实现日志
         /// </summary>
         /// <param name="msg">日志内容</param>
         /// <param name="lonPath">存放日志的目录,如果想默认存在项目的Debag下,请输入Null</param>
         private void logger(String msg,string lonPath)
         {
             string LogPath = null;
             if (lonPath != null)
             {
                 LogPath = lonPath;
             }
             else
             {
                 LogPath =Application.StartupPath;
             }
             string filePath = LogPath + "\\" + DateTime.Now.Year.ToString()+"" + DateTime.Now.Month.ToString()+"";
             string fileName = DateTime.Now.Day.ToString() + "" + ".Log";
             string filePathAll = filePath + "\\" + fileName;
             if (!System.IO.Directory.Exists(filePath))
             {
                 System.IO.Directory.CreateDirectory(filePath);
             }
             FileStream filestream = new FileStream(filePathAll, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
             StreamWriter writer = new StreamWriter(filestream, System.Text.Encoding.Default);
             writer.BaseStream.Seek(0, SeekOrigin.End);
             writer.WriteLine("{0} {1}", DateTime.Now.TimeOfDay , msg);
             writer.Flush();
             writer.Close();
             filestream.Close();
         }
 
         //测试方法
         private void button1_Click(object sender, EventArgs e)
         {
             byte str=0 ;
 
             try
             {
                 if (true)
                 {
                     str = (byte)Convert.ToSByte(600);
                 }
                 else
                 {
                     str = (byte)Convert.ToSByte(500);
                 }
             }
             catch(Exception ex)
             {
                 logger(ex.Message,null);
             }
         }
     }
 }

 

posted @ 2013-05-10 10:56  暮山海风  阅读(357)  评论(0编辑  收藏  举报