如何建立独立的线程,急! 你写日志的时候lock来进行同步 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ...目前的情况是参数共享了,导致事件日志很混乱...参数共享本身并没错,日志可以利用线程ID来区分。 public class MySimpleLog { static string s_logfile = @"c:\temp\my.log"; static object s_Lock = new object(); public static void WriteInfo(string msg) { Write(msg, "I"); } public static void WriteDebug(string msg) { Write(msg, "D"); } public static void WriteError(string msg) { Write(msg, "E"); } static void Write(string msg, string catagory) { lock (s_Lock) { int id = System.Threading.Thread.CurrentThread.ManagedThreadId; //<----- System.IO.File.AppendAllText(s_logfile, string.Format("[{0}{1,3}{2}] {3}{4}", DateTime.Now.ToString("HH:MM:ss"), id, catagory, msg, Environment.NewLine) ); } } } public class UTest { static void Main() { MySimpleLog.WriteInfo("Program started"); } } C#怎么用ADODB。RecordSet。open()操作Access数据库 求助各位大虾们... C#方面的2个的问题... 类中的两种定义成员变量有什么区别? 发现.net的小bug C# 外键检测 hashtable.add 的问题 如何传送自定义消息 windows程序中怎样禁止dataGrid插入新行,但是可以编辑已有行? 水晶报表中、如何加别的控件并在报表中显示 有没有直接取整运算? 关于GirdView里面嵌套dropdownList 今天不算二十四
参数共享本身并没错,日志可以利用线程ID来区分。
public class MySimpleLog
{
static string s_logfile = @"c:\temp\my.log";
static object s_Lock = new object(); public static void WriteInfo(string msg)
{
Write(msg, "I");
}
public static void WriteDebug(string msg)
{
Write(msg, "D");
}
public static void WriteError(string msg)
{
Write(msg, "E");
}
static void Write(string msg, string catagory)
{
lock (s_Lock)
{
int id = System.Threading.Thread.CurrentThread.ManagedThreadId; //<-----
System.IO.File.AppendAllText(s_logfile, string.Format("[{0}{1,3}{2}] {3}{4}",
DateTime.Now.ToString("HH:MM:ss"),
id,
catagory,
msg,
Environment.NewLine)
);
}
}
}
public class UTest
{
static void Main()
{
MySimpleLog.WriteInfo("Program started");
}
}