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