public static void Report(object val)
{
try
{
var text = val.ToString();
var address = "";
try
{
address = HttpContext.Current.Request.UserHostAddress;
}
catch (Exception exc)
{
Trace.WriteLine(exc);
}
text = address + " > " + text;
Trace.WriteLine(text);
var filePath = Path.Combine(WebUtil.AppDataPath, FileName);
var time = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss");
bool multiLineData = text.Contains('\n');
var buf = (multiLineData)
? string.Format("{0} {1}\r\n{2}\r\n{3}\r\n", time, DelimiterShort, text, Delimiter)
: string.Format("{0}\t{1}\r\n", time, text);
if (Monitor.TryEnter(Sync, 10 * 1000))
{
try
{
File.AppendAllText(filePath, buf);
}
finally
{
Monitor.Exit(Sync);
}
}
}
catch (Exception exc)
{
Trace.WriteLine(exc);
}
}