A game about forced loneliness, made by TACStudios
1using System.IO;
2
3namespace Unity.PlasticSCM.Editor.Configuration
4{
5 internal class WriteLogConfiguration
6 {
7 internal static void For(string logConfigPath)
8 {
9 string logDirectoryPath = GetPlasticLogDirectoryPath(logConfigPath);
10 string relevantLogFile = Path.Combine(logDirectoryPath, RELEVANT_LOG_FILE_NAME);
11 string debugLogFile = Path.Combine(logDirectoryPath, DEBUG_LOG_FILE_NAME);
12
13 using (StreamWriter sw = File.CreateText(logConfigPath))
14 {
15 sw.Write(string.Format(
16 LOG_CONFIGURATION,
17 relevantLogFile,
18 debugLogFile));
19 }
20 }
21
22 static string GetPlasticLogDirectoryPath(string logConfigPath)
23 {
24 return Path.Combine(
25 Directory.GetParent(logConfigPath).FullName,
26 LOGS_DIRECTORY);
27 }
28
29 const string LOGS_DIRECTORY = "logs";
30 const string RELEVANT_LOG_FILE_NAME = "unityplastic.relevant.log.txt";
31 const string DEBUG_LOG_FILE_NAME = "unityplastic.debug.log.txt";
32 const string LOG_CONFIGURATION =
33@"<log4net>
34 <appender name=""RelevantInfoAppender"" type=""log4net.Appender.RollingFileAppender"">
35 <file value=""{0}"" />
36 <appendToFile value=""true"" />
37 <rollingStyle value=""Size"" />
38 <maxSizeRollBackups value=""10"" />
39 <maximumFileSize value=""2MB"" />
40 <layout type=""log4net.Layout.PatternLayout"">
41 <conversionPattern value=""%date %username %-5level %logger - %message%newline"" />
42 </layout>
43 <filter type=""log4net.Filter.LevelRangeFilter""><levelMin value=""INFO"" /><levelMax value=""FATAL"" /></filter>
44 </appender>
45
46 <appender name=""DebugAppender"" type=""log4net.Appender.RollingFileAppender"">
47 <file value=""{1}"" />
48 <appendToFile value=""true"" />
49 <rollingStyle value=""Size"" />
50 <maxSizeRollBackups value=""10"" />
51 <maximumFileSize value=""10MB"" />
52 <staticLogFileName value=""true"" />
53 <layout type=""log4net.Layout.PatternLayout"">
54 <conversionPattern value=""%date %username %-5level %logger - %message%newline"" />
55 </layout>
56 </appender>
57
58 <root>
59 <level value=""DEBUG"" />
60 <appender-ref ref=""RelevantInfoAppender"" />
61 <appender-ref ref=""DebugAppender"" />
62 </root>
63</log4net>
64";
65 }
66}