亚洲必赢76net的主页记录日志,环境部署Asp

亚洲必赢76net的主页 1

   
这段时间写了个依期邮件推送的服务,当使用lognet4笔录日志时,开采日志并从未记录。后来知道windows
服务平日暗中认可是在C:Windows亚洲必赢76net的主页,System
或是C:WindowsSystem32,而我们友好的服务程序平常是身处别的的目录,那样log4net.config文件中的配置路线将不可能精确拆解解析。所以就不能够记录日志。本来小编的lognet4文本与劳务文件位于同一目录,后来本人就把lognet4.config文件放在了程序exe所在的目录。

环境:Windows Server 2012, IIS 8, Asp.Net
Core 1.1.

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

重重人首先次在IIS中配备Asp.Net Core
App的人都会超过难点,会发觉原本的配备格局不或许运转Asp.Net Core
App程序。过去无论是原始的Asp程序照旧后来的Asp.Net程序,在IIS中的铺排格局都没太大转变,仅需指向程序目录,然后设定虚构目录,最终做一些参数配置。Asp.Net
Core App为了做到跨平台,自带了三个轻量级的Web Server –
Kestrel,那么要在IIS中布置Asp.Net Core
App,就非得有生龙活虎种新的建制来协调IIS与Kestrel Server之间的数码传递。

<?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>

1.  Asp.Net Core的布置情势

与价值观的Asp.Net程序不相同,Asp.Net Core
App使用了Kestrel Server。Kestrel是三个跨平台的Web
Server,与IIS同样肩负诉求的监听、选择和响应,但从未IIS丰富的管制职能,仍供给由IIS来管理局部放权专业。(当然你也得以动用Apache来做前置管理)

亚洲必赢76net的主页 1

IIS负责把外界央求转发给后端的Asp.net Core
App,当作“反向代理(reverse-proxy)”剧中人物。

 2. 随后在Main入口函数剖判lognet4.config文本。

2.  领悟反向代理

“反向”是指入站方向,“代理”能够领悟为某种服务,这里是转账HTTP央浼的服务。“反向代理”正是入站方向转向HTTP诉求的劳务。

和路由器原理同样,路由器除了让局域网能够访谈internet,也能够通过安装NAT或端口映射,从internet访问内部的某台服务器,约等于把入站央浼转载给钦命电脑上,这与IIS的反向代理剧中人物相像。代理服务器与路由器都以起到数量转载的职能,只然而代理服务器转发的是某类应用的数量,路由器转载的是数据包。

  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.  布置境况

Asp.Net Core App安顿须求操作系统满足:

  • Windows 7 或更新版本
  • Windows Server 2009 PRADO2 或更新版本

发表评论

电子邮件地址不会被公开。 必填项已用*标注