首页 » Golang » Golang 服务器日志模块glog

Golang 服务器日志模块glog

原文 http://blog.csdn.net/lengyuezuixue/article/details/79203165

2018-01-31 02:01:06阅读(227)

    对于服务器开发IO的操作在高并发情况下,是需要解决的一个硬性的指标;而对于服务器而言,日志系统的设计,是和磁盘IO直接交互,并影响服务器性能的主要因素之一。

   下载地址:https://github.com/xianlezheng/log4go.git

glog简介

    glog是著名的google开源C++日志库,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,但是可以自定义控制的内容较少。

glog主要的特点:

    glog有四种日志等级INFO < WARING < ERROR < FATAL,不同等级的日志是打印到不同文件的,低级的日志日志文件中(INFO)会包含高等级的日志信息(ERROR);

   通过命令行传递参数--log_dir指定日志文件的存放目录,默认为os.TempDir();

   可以根据文件大小切割文件,但是不能根据日期切割日志文件;

   日志输出格式是固定的(Lmmdd hh:mm:ss.uuuu threadid file:line] msg...)不可以自定义;

   在程序开始时需要调用flag.Parse解析命令行参数,在程序退出时需要调用glog.Flush()确保将缓存区中的内容输出到文件中。

Demo

package main
 
import (
     "glog-master"
     "flag"
)
 
//  初始化
func init() {
    //  直接初始化,主要使服务器启动后自己直接加载,并不用命令行执行对应的参数
    flag.Set("alsologtostderr", "true") // 日志写入文件的同时,输出到stderr
    flag.Set("log_dir", "./log")        // 日志文件保存目录
    flag.Set("v", "3")                  // 配置V输出的等级。
    flag.Parse()
}
 
// 主函数
func main() {
    //  使用
     
    // 退出时调用,确保日志写入文件中
    // defer glog.Flush()
     
    glog.Info("hello, glog")
    glog.Warning("warning glog")
    glog.Error("error glog")
     
    //  直接刷新到文件中
    glog.Flush()
    return
}

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹