mirror of
				https://github.com/2dust/v2rayN.git
				synced 2025-10-30 20:12:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			No EOL
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			No EOL
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using NLog;
 | |
| using NLog.Config;
 | |
| using NLog.Targets;
 | |
| 
 | |
| namespace ServiceLib.Common
 | |
| {
 | |
|     public class Logging
 | |
|     {
 | |
|         public static void Setup()
 | |
|         {
 | |
|             LoggingConfiguration config = new();
 | |
|             FileTarget fileTarget = new();
 | |
|             config.AddTarget("file", fileTarget);
 | |
|             fileTarget.Layout = "${longdate}-${level:uppercase=true} ${message}";
 | |
|             fileTarget.FileName = Utils.GetLogPath("${shortdate}.txt");
 | |
|             config.LoggingRules.Add(new LoggingRule("*", LogLevel.Debug, fileTarget));
 | |
|             LogManager.Configuration = config;
 | |
|         }
 | |
| 
 | |
|         public static void LoggingEnabled(bool enable)
 | |
|         {
 | |
|             if (!enable)
 | |
|             {
 | |
|                 LogManager.SuspendLogging();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public static void ClearLogs()
 | |
|         {
 | |
|             Task.Run(() =>
 | |
|             {
 | |
|                 try
 | |
|                 {
 | |
|                     var now = DateTime.Now.AddMonths(-1);
 | |
|                     var dir = Utils.GetLogPath();
 | |
|                     var files = Directory.GetFiles(dir, "*.txt");
 | |
|                     foreach (var filePath in files)
 | |
|                     {
 | |
|                         var file = new FileInfo(filePath);
 | |
|                         if (file.CreationTime < now)
 | |
|                         {
 | |
|                             try
 | |
|                             {
 | |
|                                 file.Delete();
 | |
|                             }
 | |
|                             catch { }
 | |
|                         }
 | |
|                     }
 | |
|                 }
 | |
|                 catch { }
 | |
|             });
 | |
|         }
 | |
| 
 | |
|         public static void SaveLog(string strContent)
 | |
|         {
 | |
|             if (LogManager.IsLoggingEnabled())
 | |
|             {
 | |
|                 var logger = LogManager.GetLogger("Log1");
 | |
|                 logger.Info(strContent);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public static void SaveLog(string strTitle, Exception ex)
 | |
|         {
 | |
|             if (LogManager.IsLoggingEnabled())
 | |
|             {
 | |
|                 var logger = LogManager.GetLogger("Log2");
 | |
|                 logger.Debug($"{strTitle},{ex.Message}");
 | |
|                 logger.Debug(ex.StackTrace);
 | |
|                 if (ex?.InnerException != null)
 | |
|                 {
 | |
|                     logger.Error(ex.InnerException);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| } | 
