diff options
| author | Ac_K <Acoustik666@gmail.com> | 2018-02-09 03:47:32 +0100 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-02-08 23:47:32 -0300 |
| commit | 5ecfb5c6576a473870bbc8e25ae34ccf916e5a0a (patch) | |
| tree | 7ab7d16dfcd5d6022a1e6c69620626a851394d6f | |
| parent | aba75186e92f2dd0dd459642f58edf159ab51f86 (diff) | |
Add internal Config support (#5)
* Add internal Logging support
Add class Logging.
Replace all Console.WriteLine() to looks better.
Add informations inside Windows Titles.
* Revert "Add internal Logging support"
This reverts commit 275d363aaf30011f238010572cfdb320bd7b627f.
* Add internal Logging support
Add Logging Class.
Replace all Console.WriteLine() to looks better.
Add debug informations of IpcMessage.
Add informations inside Windows Titles.
* Add internal Logging support2
Add Logging Class.
Replace all Console.WriteLine() to looks better.
Add debug informations of IpcMessage.
Add informations inside Windows Titles.
* Add internal Config support
Add Config Class.
Add Ryujinx.conf file (Ini file).
Use the Config Class inside Logging.
* Add internal Config support
Add Config Class.
Add Ryujinx.conf file (Ini file).
Use the Config Class inside Logging.
| -rw-r--r-- | Program.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.conf | 20 | ||||
| -rw-r--r-- | Ryujinx/Config.cs | 54 | ||||
| -rw-r--r-- | Ryujinx/Logging.cs | 14 |
4 files changed, 83 insertions, 7 deletions
@@ -9,6 +9,8 @@ namespace Ryujinx { static void Main(string[] args) { + Config.Read(); + Console.Title = "Ryujinx Console"; IGalRenderer Renderer = new OpenGLRenderer(); diff --git a/Ryujinx.conf b/Ryujinx.conf new file mode 100644 index 00000000..590318fe --- /dev/null +++ b/Ryujinx.conf @@ -0,0 +1,20 @@ +#Enabled print informations logs +Logging_Enable_Info = true + +#Enabled print trace logs +Logging_Enable_Trace = true + +#Enabled print debug logs +Logging_Enable_Debug = true + +#Enabled print warning logs +Logging_Enable_Warn = true + +#Enabled print error logs +Logging_Enable_Error = true + +#Enabled print fatal logs +Logging_Enable_Fatal = true + +#Saved logs into Ryujinx.log +Logging_Enable_LogFile = false diff --git a/Ryujinx/Config.cs b/Ryujinx/Config.cs new file mode 100644 index 00000000..2e4e5695 --- /dev/null +++ b/Ryujinx/Config.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Ryujinx +{ + public static class Config + { + public static bool LoggingEnableInfo { get; private set; } + public static bool LoggingEnableTrace { get; private set; } + public static bool LoggingEnableDebug { get; private set; } + public static bool LoggingEnableWarn { get; private set; } + public static bool LoggingEnableError { get; private set; } + public static bool LoggingEnableFatal { get; private set; } + public static bool LoggingEnableLogFile { get; private set; } + + public static void Read() + { + IniParser Parser = new IniParser("Ryujinx.conf"); + + LoggingEnableInfo = Convert.ToBoolean(Parser.Value("Logging_Enable_Info")); + LoggingEnableTrace = Convert.ToBoolean(Parser.Value("Logging_Enable_Trace")); + LoggingEnableDebug = Convert.ToBoolean(Parser.Value("Logging_Enable_Debug")); + LoggingEnableWarn = Convert.ToBoolean(Parser.Value("Logging_Enable_Warn")); + LoggingEnableError = Convert.ToBoolean(Parser.Value("Logging_Enable_Error")); + LoggingEnableFatal = Convert.ToBoolean(Parser.Value("Logging_Enable_Fatal")); + LoggingEnableLogFile = Convert.ToBoolean(Parser.Value("Logging_Enable_LogFile")); + } + } + + // https://stackoverflow.com/a/37772571 + public class IniParser + { + private Dictionary<string, string> Values; + + public IniParser(string Path) + { + Values = File.ReadLines(Path) + .Where(Line => (!String.IsNullOrWhiteSpace(Line) && !Line.StartsWith("#"))) + .Select(Line => Line.Split(new char[] { '=' }, 2, 0)) + .ToDictionary(Parts => Parts[0].Trim(), Parts => Parts.Length > 1 ? Parts[1].Trim() : null); + } + + public string Value(string Name, string Value = null) + { + if (Values != null && Values.ContainsKey(Name)) + { + return Values[Name]; + } + return Value; + } + } +} diff --git a/Ryujinx/Logging.cs b/Ryujinx/Logging.cs index bdb6ad06..f575549e 100644 --- a/Ryujinx/Logging.cs +++ b/Ryujinx/Logging.cs @@ -10,13 +10,13 @@ namespace Ryujinx private static Stopwatch ExecutionTime = new Stopwatch(); private static string LogFileName = "Ryujinx.log"; - public static bool EnableInfo = true; - public static bool EnableTrace = true; - public static bool EnableDebug = true; - public static bool EnableWarn = true; - public static bool EnableError = true; - public static bool EnableFatal = true; - public static bool EnableLogFile = false; + public static bool EnableInfo = Config.LoggingEnableInfo; + public static bool EnableTrace = Config.LoggingEnableTrace; + public static bool EnableDebug = Config.LoggingEnableDebug; + public static bool EnableWarn = Config.LoggingEnableWarn; + public static bool EnableError = Config.LoggingEnableError; + public static bool EnableFatal = Config.LoggingEnableFatal; + public static bool EnableLogFile = Config.LoggingEnableLogFile; static Logging() { |
