您的位置:威尼斯官方网站 > 威尼斯正规官网 > 本来小编的lognet4文本与劳务文件位于同一目录

本来小编的lognet4文本与劳务文件位于同一目录

发布时间:2019-11-20 13:33编辑:威尼斯正规官网浏览(99)

        近些日子写了个依期邮件推送的劳动,当使用lognet4笔录日志时,开采日志并从未记录。后来清楚windows 服务经常私下认可是在C:WindowsSystem 或是C:威尼斯官方网站,WindowsSystem32,而大家相濡以沫的服务程序通常是坐落其他的目录,那样log4net.config文件中的配置路线将不能够精确剖判。所以就不能够记录日志。本来小编的lognet4文件与劳动文件位于同一目录,后来自家就把lognet4.config文件放在了程序exe所在的目录。

        1.  笔者的lognet4.config文件配置内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
     </configSections>
    
      <log4net>
        <logger name="sendEmailrError">
          <level value="ALL"/>
          <!--ALL DEBUG INFO WARN ERROR FATAL OFF-->
          <appender-ref ref="RollingLogFileAppender"/> 
        </logger>
    
        <!--<logger name="ugmrob2bLoggerInfo">
          <level value="ALL"/>
          --><!--ALL DEBUG INFO WARN ERROR FATAL OFF--><!--
          <appender-ref ref="LoggerInfo"/>
        </logger>-->
    
        <appender name="LoggerInfo" type="log4net.Appender.RollingFileAppender"> 
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <!--存放日志的路径-->
          <param name="File" value="E:/Log/LogInfo/"/>
          <!--日志文件中追加-->
          <param name="AppendToFile" value="true"/>
          <!--日期文件是否固定不变-->
          <param name="StaticLogFileName" value="false"/>
          <!--最多保存多少天的记录-->
          <param name="MaxSizeRollBackups" value="100"/>
          <param name="MaximumFileSize" value="5MB"/>
          <!--日志名称-->
          <param name="DatePattern" value="yyyy-MM-dd".log""/>
          <!--日志根据日期滚动-->
          <param name="RollingStyle" value="Date"/>
    
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%n异常时间: %d%n记录器: %c%n异常信息: %m%n异常位置:[%t] %-5p [%l]%n"/>
          </layout>
        </appender>
    
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
          <!--存放日志的路径-->
          <param name="File" value="E:/Log/LogError/"/>
          <!--日志文件中追加-->
          <param name="AppendToFile" value="true"/>
          <!--日期文件是否固定不变-->
          <param name="StaticLogFileName" value="false"/>
          <!--最多保存多少天的记录-->
          <param name="MaxSizeRollBackups" value="100"/>
          <param name="MaximumFileSize" value="5MB"/>
          <!--日志名称-->
          <param name="DatePattern" value="yyyy-MM-dd".log""/>
          <!--日志根据日期滚动-->
          <param name="RollingStyle" value="Date"/>
          <layout type="log4net.Layout.PatternLayout">
            <!--<param name="ConversionPattern" value="%n异常时间: %d%n记录器: %c%n异常信息: %m%n异常位置:[%t] %-5p [%l]%n"/>-->
            <conversionPattern value="%n记录时间:%date 线程ID:[%thread] 日志级别:%-5level  %n错误描述:%message%newline" />
    
          </layout>
          <!--<filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG"/>
            <param name="LevelMax" value="FATAL"/>
          </filter>-->
        </appender>
    
      </log4net>
    
    </configuration>
    

     2. 接着在Main入口函数拆解解析lognet4.config文本。

      static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            static void Main()
            {
                string assemblyFilePath = Assembly.GetExecutingAssembly().Location;
                string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath);
                string configFilePath = assemblyDirPath + "\log4net.config";
                XmlConfigurator.ConfigureAndWatch(new FileInfo(configFilePath));
    
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[] 
                { 
                    new SendEmailService() 
                };
                ServiceBase.Run(ServicesToRun);
            }
        }
    

     3.  实例ILog,发轫记录日志,当中sendEmailrError为lognet4.config文件中logger的name名称。

    log4net.ILog log = log4net.LogManager.GetLogger("sendEmailrError");
    log.Error("错误信息");
    

      

        

    本文由威尼斯官方网站发布于威尼斯正规官网,转载请注明出处:本来小编的lognet4文本与劳务文件位于同一目录

    关键词:

上一篇: 关键字用于创建结构

下一篇:没有了