No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

WriteLogConfiguration.cs 2.3KB

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