首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将日志文件路径(log4net)从默认磁盘驱动器更改为备用磁盘驱动器

如何将日志文件路径(log4net)从默认磁盘驱动器更改为备用磁盘驱动器
EN

Stack Overflow用户
提问于 2015-08-13 09:58:17
回答 2查看 1K关注 0票数 1

我正在使用log4net为我的应用程序编写日志文件。我已经将日志文件路径设置如下:

代码语言:javascript
运行
复制
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <file value="D:\MyApp\LogFiles\MyApp_"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
                    .  
                    .
                    .

日志文件保存在D盘中。如果D盘(默认日志文件位置)不可用/不存在,我如何更改到C盘?是否可以在编码(C#)中这样做,或者我没有选择强制其他用户使用D盘?

EN

回答 2

Stack Overflow用户

发布于 2015-08-13 10:33:22

附加器能够在代码中配置,而不是使用配置文件,因此很容易确定日志文件应该放在代码中的驱动器。更多细节请参考another thread

票数 1
EN

Stack Overflow用户

发布于 2015-08-14 08:25:47

通过结合@Simonzhao提供的引用,解决方案将如下所示:

代码语言:javascript
运行
复制
        public static Logger()
        {
            PatternLayout patternLayout = new PatternLayout();
            patternLayout.ConversionPattern = "%date %-5level %message%newline";
            patternLayout.ActivateOptions();

            RollingFileAppender rollingFileAppender = new RollingFileAppender();
            rollingFileAppender.AppendToFile = true;

            #region Write the log file into D drive, if D drive is not found, then into E drive, else C drive

            var diskDrive = DriveInfo.GetDrives();

            if (diskDrive.Where(drive => drive.Name == "D:\\").Count() == 1)
              rollingFileAppender.File = @"D:\LogFiles\MyApp_";

            else if (diskDrive.Where(drive => drive.Name == "E:\\").Count() == 1)
              rollingFileAppender.File = @"E:\LogsFiles\MyApp_";

            else
              rollingFileAppender.File = @"C:\LogFiles\MyApp_";

            #endregion

            rollingFileAppender.Layout = patternLayout;
            rollingFileAppender.MaxSizeRollBackups = 5;
            rollingFileAppender.MaximumFileSize = "5MB";
                          .
                          .
                          .
       }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31978312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档