Files
UnrealEngineUWP/Engine/Source/Programs/nDisplayLauncher/AppLog/AppLogger.cs
Ryan Durand 9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00

72 lines
1.4 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace nDisplayLauncher.Log
{
public class AppLogger : INotifyPropertyChanged
{
private AppLogger()
{
}
private static AppLogger _Instance;
public static AppLogger Instance
{
get
{
if (_Instance == null)
{
_Instance = new AppLogger();
}
return _Instance;
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnNotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
//Set property with OnNotifyPropertyChanged call
protected void Set<T>(ref T field, T newValue, string propertyName)
{
field = newValue;
OnNotifyPropertyChanged(propertyName);
}
private string _LogStr;
public string LogStr
{
get { return _LogStr; }
set { Set(ref _LogStr, value, "LogStr"); }
}
[MethodImpl(MethodImplOptions.Synchronized)]
public static void CleanLog()
{
Instance.LogStr = DateTime.Now.ToString() + System.Environment.NewLine;
}
[MethodImpl(MethodImplOptions.Synchronized)]
private static void Add(string text)
{
Instance.LogStr += DateTime.Now.ToString() + ": " + text + System.Environment.NewLine;
}
public static void Log(string text)
{
Add(text);
}
}
}