go語言日志配置 go日志框架

golang常用的包----寫日志 log包

golang提供了一個簡單的日志輸出包log,常用用法,已經(jīng)基本滿足日常的日志輸出需求

10年積累的做網(wǎng)站、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有汶上免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1、日志級別有3個,info,fatal,panic

2、 日志文件的輸出

輸出的結(jié)果 a.log

[Debug]main.go:45: debug info is ,check list ,hello

[Debug]main.go:46: debug info is ,check list ,hello000111

[Info]2020/09/09 Info check

標(biāo)準(zhǔn)輸出:

[Info]2020/09/09 Info check stdout

樣例二:

輸出結(jié)果為:

[Info]2020/09/09 Check init info

[Info]2020/09/09 go to function Check

golang 應(yīng)該怎么寫配置文件

在項目開始之前,先根據(jù)大概業(yè)務(wù)設(shè)計日志系統(tǒng)。

一個好的日志系統(tǒng)在項目維護時非常重要。

我的日志系統(tǒng)中的內(nèi)容:

時間戳

日志調(diào)用地點:文件+行號

報錯級別 致命 錯誤 警告 信息 調(diào)試

Summary

關(guān)鍵內(nèi)存Dump

這些信息方便排查故障。

配置文件:

Go語言之log(如何將日志寫到指定文件里面)

對于Go語言的日志來說,如何將log寫到指定的文件里面,下面是一個例子。

output:

output:

如何配置go語言開發(fā)環(huán)境

1、下載go的zip文件。并且一定要把文件解壓到c:\go目錄下。

2、配置windows的高級環(huán)境變量。包括:GOROOT、GOOS、GOBIN、GOARCH。并且在path變量里面把c:\go\bin加入。以便可以在命令行直接運行g(shù)o命令。

舉例:我的機器:

GOPATH= c:\go;c:\go\src;F:\workspace\goSample01;

GOBIN=c:\go\bin;F:\workspace\goSample01\bin;

其中,c:\go是go的安裝路徑;

F:\workspace\goSample01是我寫的go語言項目的工程目錄;

F:\workspace\goSample01\bin是go語言項目的工程目錄下的可執(zhí)行文件路徑;

3、在完成環(huán)境變量配置后,打開一個命令行窗口,直接輸入go,然后回車,看看是否出現(xiàn)go的幫助信息。如果出現(xiàn),那么go的基本環(huán)境就OK了。

注意:這個基本環(huán)境不包含開發(fā)工具,也不能直接編譯帶C代碼的go程序。

4、(可選)為了支持Import遠(yuǎn)程包,最好裝個gomingw。下載地址:。如果下的是壓縮包,請把它解壓到C盤。例如,C:\gowin-env。里面有個Console.bat是以后使用go get的環(huán)境。舉例:有個文件a.go,里面import(

"fmt"

"github.com/astaxie/beedb"

_ "github.com/ziutek/mymysql/godrv"

為了編譯該a.go文件,需要啟動Console.bat,然后在該命令行窗口,進(jìn)入c:\go\src目錄下,執(zhí)行g(shù)o getgithub.com/astaxie/beedb

Go get github.com/ziutek/mymysql/godrv .

Go會自動下載該遠(yuǎn)程包并編譯和安裝這些包。

配置goclipse(可選)

(如果不喜歡eclipse開發(fā)工具,請?zhí)^這個配置。)

1、下載并安裝goclipse插件。Goclipse是go語言for eclipse的插件,下載地址:

2、啟動eclipse并創(chuàng)建go項目。然后寫個最簡單的helloworld.go文件,并運行。代碼如下:

packagemainimport"fmt"func main(){ fmt.Printf("hello, world")}

配置gocode(可選)

如果不需要go語法輔助和eclipse里面的(按ALT+/)彈出go語言自動輔助功能,請?zhí)^這個配置。

1、下載gocode的zip文件,解壓后放在go的bin目錄下。

2、下載并安裝Git軟件。并且在path里面配置git的執(zhí)行路徑。例如c:\git\bin

3、在命令行執(zhí)行:go build .\gocode。如果一切正常,那么將會編譯生成一個gocode.exe文件在go的bin目錄下。如果編譯失敗,那么就轉(zhuǎn)第4步。

4、如果第3步直接編譯gocode源文件成功,那就直接到第5步。否則,就需要通過git下載gocode源文件,然后再編譯。在命令行執(zhí)行:go get -u github.com/nsf/gocode 。就會生成gocode.exe文件。

5、在goclipse插件里面指定gocode的路徑。就可以在elcipse里面調(diào)用gocode來幫助寫編碼了。

從開發(fā)工具這塊看,go語言還不夠成熟,開發(fā)工具都還不完善,有待改進(jìn)。

下載go-tour教程源代碼(可選)

Google有個在線運行g(shù)o語言的教程(),很不錯。支持在web上直接運行大部分的go程序,想了解這個教程的源代碼的朋友可以通過以下方式獲取。如果沒興趣,可以跳過這個步驟。

1、下載安裝Mercurial軟件。

2、在命令行下輸入:

hg clone

這個URL是我從google的go-tour源代碼的一個clone。作為測試用的。如果把http改成https協(xié)議,下載就會失敗。搞不懂。

編譯帶調(diào)用C代碼的go文件(可選)

1、為了在windows下編譯帶C代碼的go程序,你首先需要下載并安裝MinGW或者Cygwin。

2、首選安裝MinGW。在安裝MinGW之后,記得要把MinGW安裝目錄\bin路徑設(shè)置在path環(huán)境變量里面,以便能在dos窗口下直接調(diào)用gcc。

3、下載一個gowin-env。下載地址:gowin-env。下載后解壓到某個目錄下,例如:C:\gowin-env. 然后,編輯go-env.bat。配置相關(guān)的go參數(shù)。例如,我的配置是:

set GOARCH=386

set GOOS=windows

set GOROOT=c:\go

set GOBIN=%GOROOT%\bin

set GOPATH=%GOROOT%;F:\workspace\goSample01;

設(shè)置好go-env.bat后,就可以點擊Console.bat來啟動編譯和運行窗口。

4、編寫一個帶C代碼的go程序。例如,testc.go

5、編譯

例如:

go build -compiler gccgo test_c.go

運行調(diào)用C代碼的go文件(可選)

1、testc.go.

創(chuàng)建rand目錄,然后在rand里面創(chuàng)建testc.go. 代碼如下:

package rand

/*

//

#include stdio.h

*/

import "C"

func PrintHello() {

C.puts(C.CString("Hello, world\n"))

}

2、a.go

在rand下創(chuàng)建a.go.代碼如下:

package rand

import "fmt"

func SayHello(name string){

fmt.Println(name)

}

3、test_import.go

在rand的上一級創(chuàng)建test_import.go。代碼如下:

package main

import "./rand"

func main(){

rand.SayHello("tom")

rand.PrintHello()

}

4、運行test_import.go

go run test_import.go

在測試其它幾個C代碼的時候,發(fā)現(xiàn)windows版本的cgo還有些編譯問題,同樣的代碼轉(zhuǎn)移到蘋果的XCODE下就沒有問題。后來終于發(fā)現(xiàn)原因了,原來有些例子是unix平臺下的,而在windows平臺下,方法名和參數(shù)需要做調(diào)整。

例如:下面代碼在windows下編譯報一堆錯誤。

package rand

/*

#include stdlib.h

*/

import "C"

func Random() int {

return int(C.random())

}

func Seed(i int) {

C.srandom(C.uint(i))

}

這里需要把return int(C.random()) 修改為“return int(C.rand())”

C.srandom(C.uint(i))修改為“C.srand(C.uint(i))”編譯就OK了。

文章題目:go語言日志配置 go日志框架
轉(zhuǎn)載來于:http://muchs.cn/article28/docdhjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站網(wǎng)站營銷、軟件開發(fā)、微信公眾號、Google標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)