新增Config供过滤输出以及将来的其他功能使用

Signed-off-by: Eicy <im@crash.work>
This commit is contained in:
2024-12-21 01:03:35 +08:00
parent 7bacff5e24
commit 2537d11f53

44
Config/Configuration.cs Normal file
View File

@@ -0,0 +1,44 @@
using Debugger;
using Newtonsoft.Json;
namespace Shrink.Config;
public struct Config
{
public LogLevel LogLevel;
public Config(LogLevel logLevel)
{
LogLevel = logLevel;
}
}
public class Configuration
{
private static readonly Lazy<Configuration> _instance = new(() => new Configuration());
public static Configuration Instance => _instance.Value;
private const string ConfigFilePath = "Config.json";
public Config Config;
private Configuration()
{
}
public async Task Init()
{
if (!File.Exists(ConfigFilePath))
{
await Save();
}
else
{
Config = JsonConvert.DeserializeObject<Config>(await File.ReadAllTextAsync(ConfigFilePath));
}
}
public async Task Save()
{
await File.WriteAllTextAsync(ConfigFilePath, JsonConvert.SerializeObject(Config));
}
}