aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Common/Logging/Formatters
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Common/Logging/Formatters')
-rw-r--r--src/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs15
-rw-r--r--src/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs6
-rw-r--r--src/Ryujinx.Common/Logging/Formatters/ILogFormatter.cs4
3 files changed, 17 insertions, 8 deletions
diff --git a/src/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs b/src/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs
index 28a7d546..3769b03a 100644
--- a/src/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs
+++ b/src/Ryujinx.Common/Logging/Formatters/DefaultLogFormatter.cs
@@ -1,6 +1,7 @@
-using System.Text;
+using System.Diagnostics;
+using System.Text;
-namespace Ryujinx.Common.Logging
+namespace Ryujinx.Common.Logging.Formatters
{
internal class DefaultLogFormatter : ILogFormatter
{
@@ -27,6 +28,14 @@ namespace Ryujinx.Common.Logging
if (args.Data is not null)
{
+ if (args.Data is StackTrace trace)
+ {
+ sb.Append('\n');
+ sb.Append(trace);
+
+ return sb.ToString();
+ }
+
sb.Append(' ');
DynamicObjectFormatter.Format(sb, args.Data);
}
@@ -39,4 +48,4 @@ namespace Ryujinx.Common.Logging
}
}
}
-}
+} \ No newline at end of file
diff --git a/src/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs b/src/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs
index 5f15cc2a..6e3b0043 100644
--- a/src/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs
+++ b/src/Ryujinx.Common/Logging/Formatters/DynamicObjectFormatter.cs
@@ -3,9 +3,9 @@ using System;
using System.Reflection;
using System.Text;
-namespace Ryujinx.Common.Logging
+namespace Ryujinx.Common.Logging.Formatters
{
- internal class DynamicObjectFormatter
+ internal static class DynamicObjectFormatter
{
private static readonly ObjectPool<StringBuilder> StringBuilderPool = SharedPools.Default<StringBuilder>();
@@ -17,7 +17,7 @@ namespace Ryujinx.Common.Logging
}
StringBuilder sb = StringBuilderPool.Allocate();
-
+
try
{
Format(sb, dynamicObject);
diff --git a/src/Ryujinx.Common/Logging/Formatters/ILogFormatter.cs b/src/Ryujinx.Common/Logging/Formatters/ILogFormatter.cs
index 9a55bc6b..25a06d83 100644
--- a/src/Ryujinx.Common/Logging/Formatters/ILogFormatter.cs
+++ b/src/Ryujinx.Common/Logging/Formatters/ILogFormatter.cs
@@ -1,7 +1,7 @@
-namespace Ryujinx.Common.Logging
+namespace Ryujinx.Common.Logging.Formatters
{
interface ILogFormatter
{
string Format(LogEventArgs args);
}
-}
+} \ No newline at end of file