Swift3.0服務端開發(三) Mustache頁面模板與日誌記錄

本篇博客主要介紹若是在Perfect工程中引入和使用Mustache頁面模板日誌記錄系統Mustache頁面模板相似於PHP中的smarty模板引擎或者Java中的JSTL標籤。固然Mustache頁面模板的功能要弱的多。Mustache頁面模板的主要功能是將html頁面中的標籤變量(好比「{{name}}」)進行替換,要想引入Mustache頁面模板相關的庫,只須要在Package.swift文件中添加相應的庫的鏈接地址而後再編譯鏈接便可。本篇博客還會介紹若是將日誌記錄到相應的日誌文件,在開發中日誌是不可或缺的,因此日誌系統的引入與配置也是必不可少的。
html

下方會對Mustache頁面模板與日誌系統的配置進行介紹。git

 

1、Mustache頁面模板github

1.Mustache頁面模板的引入web

Mustache對應的模板地址包以下:swift

.Package(
url: "https://github.com/PerfectlySoft/Perfect-Mustache.git",
majorVersion: 2, minor: 0
)xcode

咱們須要在Package.swift文件中進行依賴包的配置,以下所示。引入包後,使用命令行進行編譯:"swift build"便可。若是你的項目是使用Xcode進行編譯的話,還須要從新執行「swift package generate-xcodeproj」命令再次生成xcodeproj文件便可。框架

  

 

2.Mustache頁面模板的使用ui

首先咱們在相應的靜態頁面中添加上相應的標籤,咱們仍是以上篇博客中使用到的index.html爲例,在該html頁面中,添加上相應的標籤,該標籤會被替換成相應的內容。下方的標籤爲{{title}}url

  

處理完靜態頁面,而後咱們該處理服務端的代碼了。下方代碼是從Prefect的官方文檔上摘下來的,不過改了一下Value的key。全部處理Mustache頁面模板的句柄都須要繼承自MustachePageHandler,在extendValuesForResponse()方法中進行模板變量的處理,以下所示:spa

  

下方是對index.html進行重定向,將index.html交給上述的處理句柄進行處理。

  

上述實例的運行結果以下,{{title}}被換成了Swift用戶,以下所示:

  

 

2、日誌系統的配置與使用

日誌系統在服務端開發中是不可或缺的,接下來咱們要作的事情是講每次請求或者相應的內容寫入到日誌文件中,固然平時調試打印的一些信息也能夠輸出到日誌文件中。接下來,咱們就要來介紹一下Perfect框架中日誌系統的引入和使用方式。

 

1.引入日誌相關包

要作到上述的功能,咱們須要引入下方的兩個依賴包。引入包後與上述頁面模板的作法一致,仍是須要從新使用命令行編譯和運行工程的,固然要從新生成xcodeproj文件。在此就不作過多贅述了。

//Request請求日誌過濾器
.Package(url: "https://github.com/dabfleming/Perfect-RequestLogger.git",
majorVersion: 0),

//將日誌寫入指定文件
.Package(url: "https://github.com/PerfectlySoft/Perfect-Logger.git",
majorVersion: 0, minor: 0),

 

2.將日誌寫入文件

接下來咱們就能夠調用日誌系統將日誌寫入指定的文件了,首先咱們須要檢查存儲日誌文件的目錄是否存在,若是不存在就建立。建立完畢後,將該目錄賦值給日誌系統的文件目錄便可,以下第一個框中的內容。而後添加請求和相應的日誌過濾器。最下方的框是LogFile的幾個方法的使用,這些信息都會被存儲到相應的文件。

   

進行上述配置後,咱們還須要將RequestLogger()中的日誌輸出形式切換成LogFile的形式,以下所示:

  

配置完畢後,咱們就可使用日誌系統進行日誌輸出了,最終結果以下所示:

  

 

今天的博客就先到這而把,下篇博客會介紹MySql的鏈接與相關操做。

相關文章
相關標籤/搜索