mirror of
https://github.com/RaindropViewer/RaindropViewer.git
synced 2026-07-27 21:29:07 +00:00
76 lines
2.9 KiB
C#
76 lines
2.9 KiB
C#
using System.IO;
|
|
using Disk;
|
|
using log4net;
|
|
using log4net.Appender;
|
|
using log4net.Layout;
|
|
using log4net.Repository.Hierarchy;
|
|
using Raindrop.Services.Bootstrap;
|
|
using UnityEngine;
|
|
|
|
public static class LoggingConfiguration
|
|
{
|
|
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
|
private static void Configure()
|
|
{
|
|
// var key = "log4net.Internal.Debug";
|
|
// string value = true.ToString();
|
|
//
|
|
// try
|
|
// {
|
|
// var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
|
|
// var settings = configFile.AppSettings.Settings;
|
|
// if (settings[key] == null)
|
|
// {
|
|
// settings.Add(key, value);
|
|
// }
|
|
// else
|
|
// {
|
|
// settings[key].Value = value;
|
|
// }
|
|
// configFile.Save(ConfigurationSaveMode.Modified);
|
|
// ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
|
|
// }
|
|
// catch (ConfigurationErrorsException)
|
|
// {
|
|
// Debug.Log("Error writing app settings");
|
|
// }
|
|
//
|
|
|
|
Debug.Log("Application is configuring the global logger. \n" +
|
|
"We are using configuration file at: "
|
|
+ $"{DirectoryHelpers.GetInternalCacheDir()}/log4net.xml");
|
|
// var res = XmlConfigurator.Configure(new FileInfo($"{DirectoryHelpers.GetInternalCacheDir()}/log4net.xml"));
|
|
ConfigureLoggers(
|
|
Path.Combine(DirectoryHelpers.GetInternalCacheDir(), "log.txt"));
|
|
|
|
|
|
}
|
|
public static void ConfigureLoggers(string filepath)
|
|
{
|
|
// log4net.Config.XmlConfigurator.Configure();
|
|
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
|
|
|
|
//1. log to unity console.
|
|
var unityDebugAppender = new UnityDebugAppender();
|
|
unityDebugAppender.Layout = new PatternLayout("%date{HH:mm:ss} [%level] - %message");
|
|
//appender.Layout = new PatternLayout("%timestamp [%thread] %-5level - %message%newline");
|
|
// BasicConfigurator.Configure(unityDebugAppender);
|
|
hierarchy.Root.AddAppender(unityDebugAppender);
|
|
|
|
|
|
var logFileAppender = new RollingFileAppender();
|
|
logFileAppender.Layout = new PatternLayout("%date{HH:mm:ss} [%level] - %message%newline");
|
|
logFileAppender.File = filepath;
|
|
logFileAppender.AppendToFile = true;
|
|
logFileAppender.RollingStyle = RollingFileAppender.RollingMode.Size;
|
|
logFileAppender.MaxSizeRollBackups = 10;
|
|
logFileAppender.MaxFileSize = 250 * 1000; // 250KB
|
|
logFileAppender.StaticLogFileName = true;
|
|
logFileAppender.ActivateOptions();
|
|
// XmlConfigurator.Configure();
|
|
hierarchy.Root.AddAppender(logFileAppender);
|
|
|
|
hierarchy.Configured = true;
|
|
}
|
|
|
|
} |