第一種方法:
寫乙個方法,每寫一條日誌都會做一次檔案開啟和關閉
func mylog(v ...inte***ce{})
下邊這個是為了支援println的形式輸入
func mylog(v ...inte***ce{})
下邊引數中的tag可以自定義成任何關鍵字,同時增加日期-時間-毫秒。
const tag
="main: "
logger :=
log.
new(f, tag, log
.ldate|
log.ltime|
log.lmicroseconds)
執行結果:在test.log
main: 2018/04/26 11:03:12.343476 這是第一條日誌
main: 2018/04/26 11:03:12.418434 這是第二條日誌
檔名按照日期設定 修改
為
t := time.now().format("2006-01-02")
name := "test_" + t + ".log"
第二種方法:
一次性開啟檔案,每次都可以直接記錄日誌,同時做了日誌等級處理。
檔名mylog.go
package mylog應用import (
"fmt"
"log"
"os"
"time"
)var (
logi *log.logger
logd *log.logger
loge *log.logger
logw *log.logger
f *os.file
)func init()
logi = log.new(f, "info : ", log.ldate|log.ltime|log.lmicroseconds)
logd = log.new(f, "debug: ", log.ldate|log.ltime|log.lmicroseconds)
loge = log.new(f, "error: ", log.ldate|log.ltime|log.lmicroseconds)
logw = log.new(f, "warn : ", log.ldate|log.ltime|log.lmicroseconds)
}func close()
func logi(v ...inte***ce{})
func logd(v ...inte***ce{})
func loge(v ...inte***ce{})
func logw(v ...inte***ce{})
mylog.init()
mylog.logi("這是第二種方法日誌")
mylog.loge("這是第二種方法日誌")
mylog.logd("這是第二種方法日誌")
mylog.logw("這是第二種方法日誌")
mylog.close()
輸出效果檔案:
info : 2018/04/26
11:59:56.227440 這是第二種方法日誌
error:
2018/04/26
11:59:56.228440 這是第二種方法日誌
debug:
2018/04/26
11:59:56.228440 這是第二種方法日誌
warn : 2018/04/26
11:59:56.228440 這是第二種方法日誌
第三種方法:
建立乙個類,然後建立物件,封裝方法。
檔案:
package mylog
import (
"fmt"
"log"
"os"
"time"
)type mlog struct
func (l *mlog) init()
l.logi = log.new(l.f, "info : ", log.ldate|log.ltime|log.lmicroseconds)
l.logd = log.new(l.f, "debug: ", log.ldate|log.ltime|log.lmicroseconds)
l.loge = log.new(l.f, "error: ", log.ldate|log.ltime|log.lmicroseconds)
l.logw = log.new(l.f, "warn : ", log.ldate|log.ltime|log.lmicroseconds)
l.isinit = true
}func (l *mlog) close()
}func (l *mlog) i(v ...inte***ce{})
l.logi
.println(v...)
}func (l *mlog) d(v ...inte***ce{})
l.logd
.println(v...)
}func (l *mlog) e(v ...inte***ce{})
l.loge
.println(v...)
}func (l *mlog) w(v ...inte***ce{})
l.logw
.println(v...)
}
應用
mlog = new(mylog.mlog)
mlog.i("這是第三種方法")
mlog.d("這是第三種方法")
mlog.e("這是第三種方法")
mlog.w("這是第三種方法")
mlog.close()
輸出結果
info : 2018/04/26
12:38:19.258334 這是第三種方法
debug:
2018/04/26
12:38:19.259334 這是第三種方法
error:
2018/04/26
12:38:19.259334 這是第三種方法
warn : 2018/04/26
12:38:19.259334 這是第三種方法
僅此 先寫一寫我的部落格初衷
第一次接觸部落格還是在研究生一年級的時候,那時候的我對於部落格啊,程式啊還完完全全的是乙個新人,對這些的了解只是停留在字面意思上,雖然總想著去了解一些,但總是由於懶而放棄了。由於發表學術 需要對演算法進行認真,萬般無奈 之下只能自己在網上查資料寫程式,慢慢的接觸了許多人寫的部落格。所謂萬千世界無奇不...
字元陣列的一寫特性
字元陣列是元素型別為字元的陣列,它既具有普通陣列的一般性質,又具有某些特殊性質。字串常量是用雙引號包圍的字串行。儲存字串常量時,系統會在字串行後自動加上 0 標誌字串的結束。字串的長度定義為字串中的有效字元數,不包括結束標誌 0 和雙引號。字串變數是以 0 作為結束標誌的字元陣列。字串變數用於儲存和...
github的一寫常用命令
自己配置的常用的一些命令 第一次需要配置使用者名稱和郵箱 git config global user.name 註冊的使用者名稱 git config global user.email 註冊的郵箱位址 git init 初始化倉庫 git status 檢視檔案狀態 git add 把檔案加到暫...