写日志追踪程序运行过程
2009-08-11 16:58
253 查看
using System;
using System.IO;
using System.Runtime.InteropServices;
namespace 超级DTU
{
class SystemFile
{
private static string m_fileName = AppDomain.CurrentDomain.BaseDirectory + "客户端.txt";
private const int FO_DELETE = 0x3;
private const ushort FOF_NOCONFIRMATION = 0x10;
private const ushort FOF_ALLOWUNDO = 0x40;
public static String FileName
{
get
{
return (m_fileName);
}
set
{
if (value != null || value != "")
{
m_fileName = value;
}
}
}
/// <summary>
/// 构造_SHFILEOPSTRUCT
/// </summary>
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public class _SHFILEOPSTRUCT
{
public IntPtr hwnd;
public UInt32 wFunc;
public string pFrom;
public string pTo;
public UInt16 fFlags;
public Int32 fAnyOperationsAborted;
public IntPtr hNameMappings;
public string lpszProgressTitle;
}
/// <summary>
/// 引入SHFileOperation
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
[DllImport("shell32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
private static extern int SHFileOperation([In, Out] _SHFILEOPSTRUCT str);
/// <summary>
/// 将文件删除进入回收站
/// </summary>
/// <param name="path">文件路径</param>
/// <returns>文件操作是否成功</returns>
public static int Delete(string path)
{
_SHFILEOPSTRUCT pm = new _SHFILEOPSTRUCT();
pm.wFunc = FO_DELETE;
pm.pFrom = path + '/0';
pm.pTo = null;
pm.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION;
return SHFileOperation(pm);
}
/// <summary>
/// 记录日志至文本文件
/// </summary>
/// <param name="message">记录的内容</param>
public static void CreateErrorLog(string message)
{
try
{
if (File.Exists(m_fileName))
{
///如果日志文件已经存在,则直接写入日志文件
StreamWriter sr = File.AppendText(FileName);
sr.WriteLine(DateTime.Now.ToString() + " " + message);
sr.Close();
}
else
{
///创建日志文件
StreamWriter sr = File.CreateText(FileName);
sr.Close();
sr = File.AppendText(FileName);
sr.WriteLine(DateTime.Now.ToString() + " " + message);
sr.Close();
}
}
catch (Exception)
{
}
}
}
}
using System.IO;
using System.Runtime.InteropServices;
namespace 超级DTU
{
class SystemFile
{
private static string m_fileName = AppDomain.CurrentDomain.BaseDirectory + "客户端.txt";
private const int FO_DELETE = 0x3;
private const ushort FOF_NOCONFIRMATION = 0x10;
private const ushort FOF_ALLOWUNDO = 0x40;
public static String FileName
{
get
{
return (m_fileName);
}
set
{
if (value != null || value != "")
{
m_fileName = value;
}
}
}
/// <summary>
/// 构造_SHFILEOPSTRUCT
/// </summary>
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public class _SHFILEOPSTRUCT
{
public IntPtr hwnd;
public UInt32 wFunc;
public string pFrom;
public string pTo;
public UInt16 fFlags;
public Int32 fAnyOperationsAborted;
public IntPtr hNameMappings;
public string lpszProgressTitle;
}
/// <summary>
/// 引入SHFileOperation
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
[DllImport("shell32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
private static extern int SHFileOperation([In, Out] _SHFILEOPSTRUCT str);
/// <summary>
/// 将文件删除进入回收站
/// </summary>
/// <param name="path">文件路径</param>
/// <returns>文件操作是否成功</returns>
public static int Delete(string path)
{
_SHFILEOPSTRUCT pm = new _SHFILEOPSTRUCT();
pm.wFunc = FO_DELETE;
pm.pFrom = path + '/0';
pm.pTo = null;
pm.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION;
return SHFileOperation(pm);
}
/// <summary>
/// 记录日志至文本文件
/// </summary>
/// <param name="message">记录的内容</param>
public static void CreateErrorLog(string message)
{
try
{
if (File.Exists(m_fileName))
{
///如果日志文件已经存在,则直接写入日志文件
StreamWriter sr = File.AppendText(FileName);
sr.WriteLine(DateTime.Now.ToString() + " " + message);
sr.Close();
}
else
{
///创建日志文件
StreamWriter sr = File.CreateText(FileName);
sr.Close();
sr = File.AppendText(FileName);
sr.WriteLine(DateTime.Now.ToString() + " " + message);
sr.Close();
}
}
catch (Exception)
{
}
}
}
}
相关文章推荐
- 通过Debug模式运行来追踪程序的运行过程
- mfc程序运行过程
- java入门(1) 程序运行机制及运行过程
- 运行java程序产生hs_err_pid之类错误日志解决方法!
- 安卓程序运行中突然崩溃的时候打印日志到本地
- QT关于程序运行日志
- java 程序运行过程 简介
- 程序运行过程中的各个寄存器!
- 在Winform程序运行时启动Cmd命令行显示日志信息的设置方法
- MapReduce程序运行原理及其执行过程
- 编写,编译,运行Java程序过程中的编码解码过程
- java编程300例:6.将程序运行相关信息记录到日志中
- 基于TCP的一对回射客户/服务器程序及其运行过程分析( 下 )
- Linux(9)后台运行python程序并输出到日志文件
- 窗口程序的运行过程
- JVM 学习笔记-java程序编译和运行的过程
- java程序的运行过程
- 请问能否把程序运行时出现的异常堆栈信息也保存进log4j指定的日志文件中
- 可视化电脑处理变量赋值、循环、程序运行的过程
- NSIS安装过程中判断程序是否运行中,FindProcDLL和KillProcDLL