private static void Log(string level, string msg, Exception t, params object[] args)
{
TextWriter sout = INSTANCE.sout;
string fileName;
string lineNumber;
try {
StackFrame el = GetLine();
fileName = el.GetFileName();
fileName = fileName.Substring(fileName.LastIndexOf('/') + 1); // FIXME portable?
lineNumber = el.GetFileLineNumber().ToString();
}
catch(Exception e) {
fileName = "?";
lineNumber = "?";
}
string location = String.Format("({0}:{1})", fileName, lineNumber);
sout.WriteLine(String.Format("vlcsharp: {0,-46} | {1,-5} | {2}", location, level, format(msg, args)));
sout.Flush();
if(t != null) {
TextWriter err = INSTANCE.err;
err.WriteLine(String.Format("vlcsharp: {0,-46} | {1,-5} | {2}", location, level, t.Message));
err.Flush();
}
}