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


本篇博客主要介紹如果在Perfect工程中引入和使用Mustache頁面模板日志記錄系統Mustache頁面模板類似於PHP中的smarty模板引擎或者Java中的JSTL標簽。當然Mustache頁面模板的功能要弱的多。Mustache頁面模板的主要功能是將html頁面中的標簽變量(比如“{{name}}”)進行替換,要想引入Mustache頁面模板相關的庫,只需要在Package.swift文件中添加相應的庫的連接地址然后再編譯連接即可。本篇博客還會介紹如果將日志記錄到相應的日志文件,在開發中日志是不可或缺的,所以日志系統的引入與配置也是必不可少的。

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

 

一、Mustache頁面模板

1.Mustache頁面模板的引入

Mustache對應的模板地址包如下:

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

我們需要在Package.swift文件中進行依賴包的配置,如下所示。引入包后,使用命令行進行編譯:"swift build"即可。如果你的項目是使用Xcode進行編譯的話,還需要重新執行“swift package generate-xcodeproj”命令再次生成xcodeproj文件即可。

  

 

2.Mustache頁面模板的使用

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

  

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

  

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

  

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

  

 

二、日志系統的配置與使用

日志系統在服務端開發中是不可或缺的,接下來我們要做的事情是講每次請求或者相應的內容寫入到日志文件中,當然平時調試打印的一些信息也可以輸出到日志文件中。接下來,我們就要來介紹一下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的連接與相關操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM