48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
|
|
namespace SharpSerial
|
|
{
|
|
public static class Stdio
|
|
{
|
|
private static bool traceTimed = false;
|
|
private static bool traceEnabled = false;
|
|
private static readonly object locker = new object();
|
|
|
|
public static string ReadLine() => Console.ReadLine();
|
|
|
|
public static void WriteLine(string format, params object[] args)
|
|
{
|
|
lock (locker)
|
|
{
|
|
Console.Out.WriteLine(format, args);
|
|
Console.Out.Flush();
|
|
}
|
|
}
|
|
|
|
[Conditional("DEBUG")]
|
|
public static void Trace(string format, params object[] args)
|
|
{
|
|
if (traceEnabled)
|
|
{
|
|
lock (locker)
|
|
{
|
|
if (traceTimed)
|
|
{
|
|
Console.Error.Write(DateTime.Now.ToString("HH:mm:ss.fff"));
|
|
Console.Error.Write(" ");
|
|
}
|
|
Console.Error.WriteLine(format, args);
|
|
Console.Error.Flush();
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void EnableTrace(bool enable, bool timed)
|
|
{
|
|
traceTimed = timed;
|
|
traceEnabled = enable;
|
|
}
|
|
}
|
|
}
|