Skip to content

Commit b494941

Browse files
committed
Fixed a crash where "foregroundcolor" is not supported.
1 parent 3981239 commit b494941

File tree

1 file changed

+15
-10
lines changed
  • CSharpToJavaScript/Utils

1 file changed

+15
-10
lines changed

CSharpToJavaScript/Utils/Log.cs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@ namespace CSharpToJavaScript.Utils
77
{
88
internal static class Log
99
{
10+
private static bool _SupportedOS = true;
1011
static Log()
1112
{
1213
Trace.Listeners.Add(new ConsoleTraceListener());
14+
15+
//https://learn.microsoft.com/en-us/dotnet/api/system.console.foregroundcolor?view=net-9.0
16+
if (OperatingSystem.IsAndroid() || OperatingSystem.IsBrowser() || OperatingSystem.IsIOS() || OperatingSystem.IsTvOS())
17+
_SupportedOS = false;
1318
}
19+
1420
public static void WriteLine(string message, CSTOJSOptions options)
1521
{
1622
if (options.DisableConsoleOutput == true)
@@ -20,19 +26,19 @@ public static void WriteLine(string message, CSTOJSOptions options)
2026
Trace.WriteLine($"{message}");
2127
}
2228

23-
public static void SuccessLine(string message, CSTOJSOptions options)
29+
public static void InfoLine(string message, CSTOJSOptions options)
2430
{
2531
if (options.DisableConsoleOutput == true)
2632
return;
2733

2834
Trace.Write($"{DateTime.Now.ToLongTimeString()}: ");
2935

30-
if (options.DisableConsoleColors == false)
36+
if (_SupportedOS && options.DisableConsoleColors == false)
3137
Console.ForegroundColor = ConsoleColor.Green;
3238

3339
Trace.WriteLine($"\t{message}");
3440

35-
if (options.DisableConsoleColors == false)
41+
if (_SupportedOS && options.DisableConsoleColors == false)
3642
Console.ResetColor();
3743
}
3844

@@ -43,18 +49,18 @@ public static void WarningLine(string message, CSTOJSOptions options, [CallerFil
4349

4450
Trace.Write($"{DateTime.Now.ToLongTimeString()}: ");
4551

46-
if (options.DisableConsoleColors == false)
52+
if (_SupportedOS && options.DisableConsoleColors == false)
4753
Console.ForegroundColor = ConsoleColor.Cyan;
4854

4955
Trace.WriteLine($"({line}){Path.GetFileName(file?.Replace("\\", "/"))}.{member}:");
5056
Trace.Write("\tMessage: ");
5157

52-
if (options.DisableConsoleColors == false)
58+
if (_SupportedOS && options.DisableConsoleColors == false)
5359
Console.ForegroundColor = ConsoleColor.Yellow;
5460

5561
Trace.WriteLine($"{message}");
5662

57-
if (options.DisableConsoleColors == false)
63+
if (_SupportedOS && options.DisableConsoleColors == false)
5864
Console.ResetColor();
5965
}
6066

@@ -63,25 +69,24 @@ public static void ErrorLine(string message, CSTOJSOptions options, [CallerFileP
6369
if (options.DisableConsoleOutput == true)
6470
return;
6571

66-
6772
Trace.Write($"{DateTime.Now.ToLongTimeString()}: ");
6873

69-
if (options.DisableConsoleColors == false)
74+
if (_SupportedOS && options.DisableConsoleColors == false)
7075
Console.ForegroundColor = ConsoleColor.Cyan;
7176

7277
string lineInfo = $"({line}){Path.GetFileName(file?.Replace("\\", "/"))}.{member}:";
7378

7479
Trace.WriteLine(lineInfo);
7580
Trace.Write("\tMessage: ");
7681

77-
if (options.DisableConsoleColors == false)
82+
if (_SupportedOS && options.DisableConsoleColors == false)
7883
Console.ForegroundColor = ConsoleColor.Red;
7984

8085
Debug.Assert(false, $"{lineInfo} \tMessage: {message}");
8186

8287
Trace.WriteLine($"{message}");
8388

84-
if (options.DisableConsoleColors == false)
89+
if (_SupportedOS && options.DisableConsoleColors == false)
8590
Console.ResetColor();
8691
}
8792
}

0 commit comments

Comments
 (0)