How I can set log4net to log my files into different folders each day?

前端 未结 5 1754
终归单人心
终归单人心 2020-11-30 06:53
  1. I want to save all logs during each day in folder named YYYYMMdd - log4net should handle creating new folder depending on system datetime - how I can setup this?
5条回答
  •  鱼传尺愫
    2020-11-30 07:15

    Thank you all. We created SortByFolderFileAppender, which inherit from RollingFileAppender

    Example of final result: somewhere\Logs\20100305\Client-104615.0

    namespace CustomLogging
    {
      public class SortByFolderFileAppender : log4net.Appender.RollingFileAppender
      {
        protected override void OpenFile(string fileName, bool append)
        {
          //Inject folder [yyyyMMdd] before the file name
          string baseDirectory = Path.GetDirectoryName(fileName);
          string fileNameOnly = Path.GetFileName(fileName);
          string newDirectory = Path.Combine(baseDirectory, DateTime.Now.ToString("yyyyMMdd"));
          string newFileName = Path.Combine(newDirectory, fileNameOnly);
    
          base.OpenFile(newFileName, append);
        }
      }
    }
    
    
      
      
      
      
      
      
      
      
      
      
        
      
    
    

提交回复
热议问题