1.日志记录方法:
public class LogSource
{
private static object lockObj = new object();
public void Save(string message)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat("日志时间:{0:yyyy-MM-dd HH:mm:ss fff}", DateTime.Now);
builder.AppendFormat("\r\n日志级别:{0}", "Info");
builder.AppendFormat("\r\n日志来源:{0}", Environment.GetCommandLineArgs()[0]);
builder.AppendFormat("\r\n主机名称:{0}", Environment.MachineName);
builder.AppendFormat("\r\n日志信息:{0}", string.IsNullOrEmpty(message) ? "无" : message);
lock (lockObj)
{
var logFile = @"Logs/" + DateTime.Now.ToString("yyyyMMdd") + ".log";
logFile = Path.Combine(Environment.CurrentDirectory, logFile);
//目录不存在时创建目录
var fileDir = Path.GetDirectoryName(logFile);
if (!Directory.Exists(fileDir)) Directory.CreateDirectory(fileDir);
using StreamWriter writer = new StreamWriter(logFile, true, Encoding.Default);
writer.WriteLine(builder.ToString());
writer.WriteLine("-----------------------------------");
writer.Close();
}
}
public void Save(Exception e)
{
Save(e.Message + e.StackTrace);
}
}