我們知道現(xiàn)在主流的配置文件格式有xml,json,toml,yaml,這里我以toml為例,因?yàn)槲覀冺?xiàng)目用的是toml格式的配置文件。有一次線上發(fā)布代碼的時(shí)候由于沒(méi)有驗(yàn)證toml配置文件的合法性,配置推上去后,程序沒(méi)有正常啟動(dòng),導(dǎo)致服務(wù)不可用。
宜良網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),宜良網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為宜良上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的宜良做網(wǎng)站的公司定做!
出現(xiàn)這個(gè)失誤之后,我認(rèn)為應(yīng)該可以在發(fā)布代碼之前,先提前驗(yàn)證下配置文件的合法性,避免出現(xiàn)低級(jí)的人為失誤,
把錯(cuò)誤的配置文件推到線上去,于是想找可以驗(yàn)證toml配置文件的合法性的工具。
這里需要安裝golang,假設(shè)在linux環(huán)境下
獲取源碼
go get github.com/BurntSushi/toml
go build .
tomlv some-toml-file.toml
如果錯(cuò)誤會(huì)有輸出,比如
Error in 'config.conf': Near line 1 (last key parsed 'service'): expected a top-level item to end with a newline, comment, or EOF, but got ']' instead
然后我們可以根據(jù)這個(gè)命令的返回狀態(tài)來(lái)判斷是否驗(yàn)證成功,0 成功 ,1 失敗。
tomlv -types some-toml-file.toml
結(jié)果如下: