67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | using System.IO; | |||
|  | 
 | |||
|  | namespace Unity.PlasticSCM.Editor.Configuration | |||
|  | { | |||
|  |     internal class WriteLogConfiguration | |||
|  |     { | |||
|  |         internal static void For(string logConfigPath) | |||
|  |         { | |||
|  |             string logDirectoryPath = GetPlasticLogDirectoryPath(logConfigPath); | |||
|  |             string relevantLogFile = Path.Combine(logDirectoryPath, RELEVANT_LOG_FILE_NAME); | |||
|  |             string debugLogFile = Path.Combine(logDirectoryPath, DEBUG_LOG_FILE_NAME); | |||
|  | 
 | |||
|  |             using (StreamWriter sw = File.CreateText(logConfigPath)) | |||
|  |             { | |||
|  |                 sw.Write(string.Format( | |||
|  |                     LOG_CONFIGURATION, | |||
|  |                     relevantLogFile, | |||
|  |                     debugLogFile)); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         static string GetPlasticLogDirectoryPath(string logConfigPath) | |||
|  |         { | |||
|  |             return Path.Combine( | |||
|  |                 Directory.GetParent(logConfigPath).FullName, | |||
|  |                 LOGS_DIRECTORY); | |||
|  |         } | |||
|  | 
 | |||
|  |         const string LOGS_DIRECTORY = "logs"; | |||
|  |         const string RELEVANT_LOG_FILE_NAME = "unityplastic.relevant.log.txt"; | |||
|  |         const string DEBUG_LOG_FILE_NAME = "unityplastic.debug.log.txt"; | |||
|  |         const string LOG_CONFIGURATION =  | |||
|  | @"<log4net>
 | |||
|  |   <appender name=""RelevantInfoAppender"" type=""log4net.Appender.RollingFileAppender""> | |||
|  |     <file value=""{0}"" /> | |||
|  |     <appendToFile value=""true"" /> | |||
|  |     <rollingStyle value=""Size"" /> | |||
|  |     <maxSizeRollBackups value=""10"" /> | |||
|  |     <maximumFileSize value=""2MB"" /> | |||
|  |     <layout type=""log4net.Layout.PatternLayout""> | |||
|  |       <conversionPattern value=""%date %username %-5level %logger - %message%newline"" /> | |||
|  |     </layout> | |||
|  |     <filter type=""log4net.Filter.LevelRangeFilter""><levelMin value=""INFO"" /><levelMax value=""FATAL"" /></filter> | |||
|  |   </appender> | |||
|  | 
 | |||
|  |   <appender name=""DebugAppender"" type=""log4net.Appender.RollingFileAppender""> | |||
|  |     <file value=""{1}"" /> | |||
|  |     <appendToFile value=""true"" /> | |||
|  |     <rollingStyle value=""Size"" /> | |||
|  |     <maxSizeRollBackups value=""10"" /> | |||
|  |     <maximumFileSize value=""10MB"" /> | |||
|  |     <staticLogFileName value=""true"" /> | |||
|  |     <layout type=""log4net.Layout.PatternLayout""> | |||
|  |       <conversionPattern value=""%date %username %-5level %logger - %message%newline"" /> | |||
|  |     </layout> | |||
|  |   </appender> | |||
|  | 
 | |||
|  |   <root> | |||
|  |     <level value=""DEBUG"" /> | |||
|  |     <appender-ref ref=""RelevantInfoAppender"" /> | |||
|  |     <appender-ref ref=""DebugAppender"" /> | |||
|  |   </root> | |||
|  | </log4net> | |||
|  | ";
 | |||
|  |     } | |||
|  | } |