123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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>
- ";
- }
- }
|