美文网首页
如何写Log

如何写Log

作者: YChristina | 来源:发表于2018-01-06 11:51 被阅读0次

在项目里经常会遇到要写log的这种问题,log可以帮着记录程序在运行过程中的信息和可能出现的异常信息。在我所写的log服务里面,有时候是输入字符串,有的时候是需要写入对象列表。

记录字符串log信息,写入txt文本文件,代码如下:

public void LogToFile(string logText, string fileName)

{

using (StreamWriter w = File.AppendText(fileName))

{

w.WriteLine(logText);

}

using (StreamReader r=File.OpenText(fileName))

{

string line;

while ((line = r.ReadLine()) != null)

{

Console.WriteLine(line);

}

}

}

记录对象列表log,写入txt文本文件,代码如下:(但在运行完成之后会发现log文件会出现乱码)

public void SaveLog(List cases, string fileName)

{

var serializer = new BinaryFormatter();

using (var stream = File.OpenWrite(fileName))

{

serializer.Serialize(stream, cases);

}

}

public void ReadLog(string fileName)

{

var serializer = new BinaryFormatter();

using (var stream = File.OpenRead(fileName))

{

if (stream != null && stream.Length != 0)

{

stream.Position = 0;

var cases = (List)serializer.Deserialize(stream);

}

}

}

记录对象列表log,写入xml文件,代码如下:

public void SerializeObject(List serializableObject, string fileName)

{

if (serializableObject == null) { return; }

try

{

XmlDocument xmlDocument = new XmlDocument();

XmlSerializer serializer = new XmlSerializer(serializableObject.GetType());

using (MemoryStream stream = new MemoryStream())

{

serializer.Serialize(stream, serializableObject);

stream.Position = 0;

xmlDocument.Load(stream);

xmlDocument.Save(fileName);

stream.Close();

}

}

catch (Exception ex)

{

//Log exception here

}

}

public List DeSerializeObject(string fileName)

{

if (string.IsNullOrEmpty(fileName)) { return default(List);

try

{

XmlDocument xmlDocument = new XmlDocument();

xmlDocument.Load(fileName);

string xmlString = xmlDocument.OuterXml;

using (StringReader read = new StringReader(xmlString))

{

System.Type outType = typeof(List);

XmlSerializer serializer = new XmlSerializer(outType);

using (XmlReader reader = new XmlTextReader(read))

{

objectOut = (List)serializer.Deserialize(reader);

reader.Close();

}

read.Close();

}

}

catch (Exception ex)

{

//Log exception here

}

return objectOut;

}

相关文章

网友评论

      本文标题:如何写Log

      本文链接:https://www.haomeiwen.com/subject/naqynxtx.html