c#调试输出和日志程序
来源:互联网 发布:淘宝客佣金设置 编辑:程序博客网 时间:2024/06/05 06:54
using System;
using System.Diagnostics;
using System.IO;
namespace Common
{
public class Log
{
private const string output = @"d:/test.txt"; //输出目录
private const string logFile = @"d:/file/log.txt"; //日志目录
public static string write(string msg)
{
StreamWriter writer = new StreamWriter(output, true);
writer.Write(DateTime.Now.ToString("HH:mm:ss "));
writer.WriteLine(msg);
writer.Close();
return msg;
}
public static string record(string msg, string filePath = logFile)
{
StreamWriter writer = new StreamWriter(filePath, true);
writer.Write(DateTime.Now.ToString("yy/MM/dd HH:mm:ss") + " ");
writer.WriteLine(msg);
writer.Close();
return msg;
}
public static void test()
{
writeTrace("dfd", 2);
}
// 摘要:
// 打印调用类堆栈
//detail根据详细级别分为2个等级
public static int writeTrace(string msg, int detail = 1)
{
StreamWriter writer = new StreamWriter(output, true);
StackFrame[] frames = new StackTrace(true).GetFrames();
int framCount = frames.Length - 1;
string time = DateTime.Now.ToString("yy/MM/dd HH:mm:ss");
writer.WriteLine(time + ", invokes:" + framCount + ", message: " + msg);
for (int i = 0; i < framCount; i++)
{
StackFrame frame = frames[framCount - i]; //以调用顺序打印
for (int j = 0; j < i; j++)
{
writer.Write(" ");
}
switch (detail)
{
case 1: //类,方法
writer.Write("-> " + frame.GetMethod().DeclaringType.Name + "." + frame.GetMethod().Name + "()");
break;
case 2: //文件,详细的类,详细方法
string fileName = frame.GetFileName().Substring(frame.GetFileName().LastIndexOf(@"\"));
writer.Write(fileName + ": " + frame.GetFileLineNumber());
writer.WriteLine(" " + frame.GetType() + ": " + frame.GetMethod());
break;
case 3: //详细文件,详细的类,详细方法
writer.Write(frame.GetFileName() + ": " + frame.GetFileLineNumber());
writer.WriteLine(" " + frame.GetType() + ": " + frame.GetMethod());
break;
}
}
writer.WriteLine();
writer.Close();
return framCount;
}
}
class LogResult
{ //返回结果集, 搁置
public string msg { get; set; }
public int framCount { get; set; }
public string methods { get; set; }
public string types { get; set; }
}
}
using System.Diagnostics;
using System.IO;
namespace Common
{
public class Log
{
private const string output = @"d:/test.txt"; //输出目录
private const string logFile = @"d:/file/log.txt"; //日志目录
public static string write(string msg)
{
StreamWriter writer = new StreamWriter(output, true);
writer.Write(DateTime.Now.ToString("HH:mm:ss "));
writer.WriteLine(msg);
writer.Close();
return msg;
}
public static string record(string msg, string filePath = logFile)
{
StreamWriter writer = new StreamWriter(filePath, true);
writer.Write(DateTime.Now.ToString("yy/MM/dd HH:mm:ss") + " ");
writer.WriteLine(msg);
writer.Close();
return msg;
}
public static void test()
{
writeTrace("dfd", 2);
}
// 摘要:
// 打印调用类堆栈
//detail根据详细级别分为2个等级
public static int writeTrace(string msg, int detail = 1)
{
StreamWriter writer = new StreamWriter(output, true);
StackFrame[] frames = new StackTrace(true).GetFrames();
int framCount = frames.Length - 1;
string time = DateTime.Now.ToString("yy/MM/dd HH:mm:ss");
writer.WriteLine(time + ", invokes:" + framCount + ", message: " + msg);
for (int i = 0; i < framCount; i++)
{
StackFrame frame = frames[framCount - i]; //以调用顺序打印
for (int j = 0; j < i; j++)
{
writer.Write(" ");
}
switch (detail)
{
case 1: //类,方法
writer.Write("-> " + frame.GetMethod().DeclaringType.Name + "." + frame.GetMethod().Name + "()");
break;
case 2: //文件,详细的类,详细方法
string fileName = frame.GetFileName().Substring(frame.GetFileName().LastIndexOf(@"\"));
writer.Write(fileName + ": " + frame.GetFileLineNumber());
writer.WriteLine(" " + frame.GetType() + ": " + frame.GetMethod());
break;
case 3: //详细文件,详细的类,详细方法
writer.Write(frame.GetFileName() + ": " + frame.GetFileLineNumber());
writer.WriteLine(" " + frame.GetType() + ": " + frame.GetMethod());
break;
}
}
writer.WriteLine();
writer.Close();
return framCount;
}
}
class LogResult
{ //返回结果集, 搁置
public string msg { get; set; }
public int framCount { get; set; }
public string methods { get; set; }
public string types { get; set; }
}
}
阅读全文
0 0
- c#调试输出和日志程序
- Android 调试和日志输出
- outputdebugstring 调试程序 同时也可以输出调试日志文件
- Android程序调试–LogCat按照日志信息级别进行输出和过滤
- (4.4.10)Android程序调试–LogCat按照日志信息级别进行输出和过滤
- C#程序的调试信息输出
- JS调试日志输出和异常处理
- mr程序无法输出日志进行调试的解决方法
- IOS 调试日志输出
- 调试临时日志输出
- 调试日志输出假想
- C# 窗体程序,使用控制台输出调试信息
- debugview + outputdebugstring 调试程序 同时也可以输出调试日志文件
- C#调试写日志
- C#调试输出
- c#调试输出
- 程序调试日志
- Symbian 入门 输出调试日志
- 数据结构--向量
- 致ERP行业的同行们——谈一谈我们逝去已久的梦想
- 图像预处理
- 时间类型转换
- bootstrap框架学习(keep update)
- c#调试输出和日志程序
- 未来 5年 最赚钱的行业 -马云篇
- myeclipse2014安装SVN插件,SVN插件安装
- 关于Centos 7设置host,并配置ssh免登录
- Coderforces Football
- 5. Longest Palindromic Substring
- 如何把直播嵌入微信公众账号
- 刷清橙OJ--A1061.求因子个数
- 刘强东:未来5年高利润高市场增长的五大行业,你有意向从事吗?