Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions com.unity.multiplayer.mlapi/Runtime/Logging/FileLogger.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
using System;
using System.IO;

#if DEVELOPMENT_BUILD || UNITY_EDITOR

namespace MLAPI.Logging
{
/// <summary>
/// Helper class for logging
/// Saves to a file identified by the current UTC epoch time. This is useful
/// when debugging what happens on multiple processes on the same machine
/// Only available for debugging on DEVELOPMENT_BUILD or UNITY_EDITOR
/// </summary>
public class FileLogger:IDisposable
{
private static FileLogger m_Instance = null;
public static FileLogger Instance
{
get
{
if (m_Instance == null)
{
m_Instance = new FileLogger();
}
return m_Instance;
}
}

private StreamWriter m_Writer;

private FileLogger()
{
m_Writer = new StreamWriter("log." + DateTimeOffset.UtcNow.ToUnixTimeSeconds() + ".txt");
m_Writer.AutoFlush = true;
}

public void Dispose()
{
m_Writer.Dispose();
}

/// <summary>
/// Logs a line
/// <param name="line">The line to log to the file for this process</param>
/// </summary>
public void Log(string line)
{
m_Writer.WriteLine(line);
}
}
}

#endif
11 changes: 11 additions & 0 deletions com.unity.multiplayer.mlapi/Runtime/Logging/FileLogger.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.